1/* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { LitPopover } from '../../../src/base-ui/popover/LitPopover'; 17 18describe('LitPopover Test', () => { 19 it('LitPopover01', () => { 20 let litPopover = new LitPopover(); 21 expect(litPopover).not.toBeUndefined(); 22 expect(litPopover).not.toBeNull(); 23 }); 24 25 it('LitPopover02', () => { 26 let litPopover = new LitPopover(); 27 expect(litPopover.open).toBeFalsy(); 28 }); 29 30 it('LitPopover03', () => { 31 let litPopover = new LitPopover(); 32 litPopover.open = true; 33 expect(litPopover.open).toBeTruthy(); 34 }); 35 36 it('LitPopover04', () => { 37 let litPopover = new LitPopover(); 38 litPopover.open = false; 39 expect(litPopover.open).toBeFalsy(); 40 }); 41 42 it('LitPopover05', () => { 43 let litPopover = new LitPopover(); 44 litPopover.direction = 'topleft'; 45 expect(litPopover.direction).toEqual('topleft'); 46 }); 47 48 it('LitPopover06', () => { 49 let litPopover = new LitPopover(); 50 expect(litPopover.direction).toEqual('topright'); 51 }); 52 53 it('LitPopover07', () => { 54 let litPopover = new LitPopover(); 55 litPopover.type = 'multiple'; 56 litPopover.dataSource = [ 57 { 58 text: '# Samples', 59 isSelected: true, 60 }, 61 ]; 62 expect(litPopover.select).toEqual(['# Samples']); 63 }); 64 65 it('LitPopover07', () => { 66 let litPopover = new LitPopover(); 67 litPopover.type = 'radio'; 68 litPopover.dataSource = [ 69 { 70 text: '# Samples', 71 isSelected: true, 72 }, 73 ]; 74 expect(litPopover.select).toEqual(['# Samples']); 75 }); 76 77 it('LitPopover08', () => { 78 let litPopover = new LitPopover(); 79 litPopover.type = 'multiple-text'; 80 litPopover.dataSource = [ 81 { 82 text: '# Samples', 83 isSelected: true, 84 }, 85 ]; 86 expect(litPopover.select).toEqual(['# Samples']); 87 }); 88 89 it('LitPopover09', () => { 90 let litPopover = new LitPopover(); 91 litPopover.type = 'radio'; 92 litPopover.title = 'tee'; 93 litPopover.dataSource = [ 94 { 95 text: '# Samples', 96 isSelected: true, 97 }, 98 ]; 99 expect(litPopover.select).toEqual(['# Samples']); 100 }); 101 102 it('LitPopover10', () => { 103 let litPopover = new LitPopover(); 104 litPopover.type = 'multiple-text'; 105 litPopover.title = 'tee'; 106 litPopover.dataSource = [ 107 { 108 text: '# Samples', 109 isSelected: true, 110 }, 111 ]; 112 expect(litPopover.trigger).not.toBeUndefined(); 113 }); 114 115 it('LitPopover11', () => { 116 let litPopover = new LitPopover(); 117 litPopover.type = 'multiple-text'; 118 litPopover.title = 'tee'; 119 litPopover.dataSource = [ 120 { 121 text: '# Samples', 122 isSelected: false, 123 }, 124 ]; 125 expect(litPopover.limit).toEqual({ 126 textLowerLimit: '0', 127 textUpperLimit: '∞', 128 }); 129 }); 130 131 it('LitPopover14', () => { 132 let litPopover = new LitPopover(); 133 litPopover.type = 'data-ming'; 134 litPopover.title = 'tee'; 135 litPopover.dataSource = [ 136 { 137 text: '# Samples', 138 isSelected: false, 139 }, 140 ]; 141 expect(litPopover.limit).toEqual({ 142 textLowerLimit: '', 143 textUpperLimit: '', 144 }); 145 }); 146 147 it('LitPopover15', () => { 148 let litPopover = new LitPopover(); 149 litPopover.type = 'multiple-text'; 150 litPopover.title = 'tee'; 151 litPopover.dataSource = [ 152 { 153 text: '# Samples', 154 isSelected: true, 155 }, 156 ]; 157 expect(litPopover.limit).toEqual({ 158 textLowerLimit: '0', 159 textUpperLimit: '∞', 160 }); 161 }); 162 163 it('LitPopover13', () => { 164 let litPopover = new LitPopover(); 165 expect(litPopover.connectedCallback()).toBeUndefined(); 166 }); 167 168 it('LitPopover16', () => { 169 const onclick = jest.fn(); 170 let litPopover = (document.body.innerHTML = ` 171 <lit-popover id='popover'></lit-popover> 172 `); 173 const popover = document.getElementById('popover'); 174 expect(onclick).not.toBeCalled(); 175 popover!.onclick = onclick; 176 popover!.click(); 177 expect(onclick).toBeCalled(); 178 expect(onclick).toHaveBeenCalledTimes(1); 179 }); 180}); 181