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