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 { LitPopover } from '../../../src/base-ui/popover/LitPopover';
17fb726d48Sopenharmony_ci
18fb726d48Sopenharmony_cidescribe('LitPopover Test', () => {
19fb726d48Sopenharmony_ci  it('LitPopover01', () => {
20fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
21fb726d48Sopenharmony_ci    expect(litPopover).not.toBeUndefined();
22fb726d48Sopenharmony_ci    expect(litPopover).not.toBeNull();
23fb726d48Sopenharmony_ci  });
24fb726d48Sopenharmony_ci
25fb726d48Sopenharmony_ci  it('LitPopover02', () => {
26fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
27fb726d48Sopenharmony_ci    expect(litPopover.open).toBeFalsy();
28fb726d48Sopenharmony_ci  });
29fb726d48Sopenharmony_ci
30fb726d48Sopenharmony_ci  it('LitPopover03', () => {
31fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
32fb726d48Sopenharmony_ci    litPopover.open = true;
33fb726d48Sopenharmony_ci    expect(litPopover.open).toBeTruthy();
34fb726d48Sopenharmony_ci  });
35fb726d48Sopenharmony_ci
36fb726d48Sopenharmony_ci  it('LitPopover04', () => {
37fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
38fb726d48Sopenharmony_ci    litPopover.open = false;
39fb726d48Sopenharmony_ci    expect(litPopover.open).toBeFalsy();
40fb726d48Sopenharmony_ci  });
41fb726d48Sopenharmony_ci
42fb726d48Sopenharmony_ci  it('LitPopover05', () => {
43fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
44fb726d48Sopenharmony_ci    litPopover.direction = 'topleft';
45fb726d48Sopenharmony_ci    expect(litPopover.direction).toEqual('topleft');
46fb726d48Sopenharmony_ci  });
47fb726d48Sopenharmony_ci
48fb726d48Sopenharmony_ci  it('LitPopover06', () => {
49fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
50fb726d48Sopenharmony_ci    expect(litPopover.direction).toEqual('topright');
51fb726d48Sopenharmony_ci  });
52fb726d48Sopenharmony_ci
53fb726d48Sopenharmony_ci  it('LitPopover07', () => {
54fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
55fb726d48Sopenharmony_ci    litPopover.type = 'multiple';
56fb726d48Sopenharmony_ci    litPopover.dataSource = [
57fb726d48Sopenharmony_ci      {
58fb726d48Sopenharmony_ci        text: '# Samples',
59fb726d48Sopenharmony_ci        isSelected: true,
60fb726d48Sopenharmony_ci      },
61fb726d48Sopenharmony_ci    ];
62fb726d48Sopenharmony_ci    expect(litPopover.select).toEqual(['# Samples']);
63fb726d48Sopenharmony_ci  });
64fb726d48Sopenharmony_ci
65fb726d48Sopenharmony_ci  it('LitPopover07', () => {
66fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
67fb726d48Sopenharmony_ci    litPopover.type = 'radio';
68fb726d48Sopenharmony_ci    litPopover.dataSource = [
69fb726d48Sopenharmony_ci      {
70fb726d48Sopenharmony_ci        text: '# Samples',
71fb726d48Sopenharmony_ci        isSelected: true,
72fb726d48Sopenharmony_ci      },
73fb726d48Sopenharmony_ci    ];
74fb726d48Sopenharmony_ci    expect(litPopover.select).toEqual(['# Samples']);
75fb726d48Sopenharmony_ci  });
76fb726d48Sopenharmony_ci
77fb726d48Sopenharmony_ci  it('LitPopover08', () => {
78fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
79fb726d48Sopenharmony_ci    litPopover.type = 'multiple-text';
80fb726d48Sopenharmony_ci    litPopover.dataSource = [
81fb726d48Sopenharmony_ci      {
82fb726d48Sopenharmony_ci        text: '# Samples',
83fb726d48Sopenharmony_ci        isSelected: true,
84fb726d48Sopenharmony_ci      },
85fb726d48Sopenharmony_ci    ];
86fb726d48Sopenharmony_ci    expect(litPopover.select).toEqual(['# Samples']);
87fb726d48Sopenharmony_ci  });
88fb726d48Sopenharmony_ci
89fb726d48Sopenharmony_ci  it('LitPopover09', () => {
90fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
91fb726d48Sopenharmony_ci    litPopover.type = 'radio';
92fb726d48Sopenharmony_ci    litPopover.title = 'tee';
93fb726d48Sopenharmony_ci    litPopover.dataSource = [
94fb726d48Sopenharmony_ci      {
95fb726d48Sopenharmony_ci        text: '# Samples',
96fb726d48Sopenharmony_ci        isSelected: true,
97fb726d48Sopenharmony_ci      },
98fb726d48Sopenharmony_ci    ];
99fb726d48Sopenharmony_ci    expect(litPopover.select).toEqual(['# Samples']);
100fb726d48Sopenharmony_ci  });
101fb726d48Sopenharmony_ci
102fb726d48Sopenharmony_ci  it('LitPopover10', () => {
103fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
104fb726d48Sopenharmony_ci    litPopover.type = 'multiple-text';
105fb726d48Sopenharmony_ci    litPopover.title = 'tee';
106fb726d48Sopenharmony_ci    litPopover.dataSource = [
107fb726d48Sopenharmony_ci      {
108fb726d48Sopenharmony_ci        text: '# Samples',
109fb726d48Sopenharmony_ci        isSelected: true,
110fb726d48Sopenharmony_ci      },
111fb726d48Sopenharmony_ci    ];
112fb726d48Sopenharmony_ci    expect(litPopover.trigger).not.toBeUndefined();
113fb726d48Sopenharmony_ci  });
114fb726d48Sopenharmony_ci
115fb726d48Sopenharmony_ci  it('LitPopover11', () => {
116fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
117fb726d48Sopenharmony_ci    litPopover.type = 'multiple-text';
118fb726d48Sopenharmony_ci    litPopover.title = 'tee';
119fb726d48Sopenharmony_ci    litPopover.dataSource = [
120fb726d48Sopenharmony_ci      {
121fb726d48Sopenharmony_ci        text: '# Samples',
122fb726d48Sopenharmony_ci        isSelected: false,
123fb726d48Sopenharmony_ci      },
124fb726d48Sopenharmony_ci    ];
125fb726d48Sopenharmony_ci    expect(litPopover.limit).toEqual({
126fb726d48Sopenharmony_ci      textLowerLimit: '0',
127fb726d48Sopenharmony_ci      textUpperLimit: '∞',
128fb726d48Sopenharmony_ci    });
129fb726d48Sopenharmony_ci  });
130fb726d48Sopenharmony_ci
131fb726d48Sopenharmony_ci  it('LitPopover14', () => {
132fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
133fb726d48Sopenharmony_ci    litPopover.type = 'data-ming';
134fb726d48Sopenharmony_ci    litPopover.title = 'tee';
135fb726d48Sopenharmony_ci    litPopover.dataSource = [
136fb726d48Sopenharmony_ci      {
137fb726d48Sopenharmony_ci        text: '# Samples',
138fb726d48Sopenharmony_ci        isSelected: false,
139fb726d48Sopenharmony_ci      },
140fb726d48Sopenharmony_ci    ];
141fb726d48Sopenharmony_ci    expect(litPopover.limit).toEqual({
142fb726d48Sopenharmony_ci      textLowerLimit: '',
143fb726d48Sopenharmony_ci      textUpperLimit: '',
144fb726d48Sopenharmony_ci    });
145fb726d48Sopenharmony_ci  });
146fb726d48Sopenharmony_ci
147fb726d48Sopenharmony_ci  it('LitPopover15', () => {
148fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
149fb726d48Sopenharmony_ci    litPopover.type = 'multiple-text';
150fb726d48Sopenharmony_ci    litPopover.title = 'tee';
151fb726d48Sopenharmony_ci    litPopover.dataSource = [
152fb726d48Sopenharmony_ci      {
153fb726d48Sopenharmony_ci        text: '# Samples',
154fb726d48Sopenharmony_ci        isSelected: true,
155fb726d48Sopenharmony_ci      },
156fb726d48Sopenharmony_ci    ];
157fb726d48Sopenharmony_ci    expect(litPopover.limit).toEqual({
158fb726d48Sopenharmony_ci      textLowerLimit: '0',
159fb726d48Sopenharmony_ci      textUpperLimit: '∞',
160fb726d48Sopenharmony_ci    });
161fb726d48Sopenharmony_ci  });
162fb726d48Sopenharmony_ci
163fb726d48Sopenharmony_ci  it('LitPopover13', () => {
164fb726d48Sopenharmony_ci    let litPopover = new LitPopover();
165fb726d48Sopenharmony_ci    expect(litPopover.connectedCallback()).toBeUndefined();
166fb726d48Sopenharmony_ci  });
167fb726d48Sopenharmony_ci
168fb726d48Sopenharmony_ci  it('LitPopover16', () => {
169fb726d48Sopenharmony_ci    const onclick = jest.fn();
170fb726d48Sopenharmony_ci    let litPopover = (document.body.innerHTML = `
171fb726d48Sopenharmony_ci            <lit-popover id='popover'></lit-popover>
172fb726d48Sopenharmony_ci        `);
173fb726d48Sopenharmony_ci    const popover = document.getElementById('popover');
174fb726d48Sopenharmony_ci    expect(onclick).not.toBeCalled();
175fb726d48Sopenharmony_ci    popover!.onclick = onclick;
176fb726d48Sopenharmony_ci    popover!.click();
177fb726d48Sopenharmony_ci    expect(onclick).toBeCalled();
178fb726d48Sopenharmony_ci    expect(onclick).toHaveBeenCalledTimes(1);
179fb726d48Sopenharmony_ci  });
180fb726d48Sopenharmony_ci});
181