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 { LitMainMenuItem } from '../../../src/base-ui/menu/LitMainMenuItem';
17
18describe('litMainMenuItem Test', () => {
19  it('litMainMenuItem01', () => {
20    let litMainMenuItem = new LitMainMenuItem();
21    expect(litMainMenuItem).not.toBeUndefined();
22    expect(litMainMenuItem).not.toBeNull();
23  });
24
25  it('litMainMenuItem02', () => {
26    let litMainMenuItem = new LitMainMenuItem();
27    expect(litMainMenuItem.title).toEqual('');
28  });
29
30  it('litMainMenuItem03', () => {
31    let litMainMenuItem = new LitMainMenuItem();
32    litMainMenuItem.title = 'test';
33    expect(litMainMenuItem.title).toEqual('test');
34  });
35
36  it('litMainMenuItem04', () => {
37    document.body.innerHTML = `<lit-main-menu-item file></lit-main-menu-item>
38        `;
39    let litMainMenuItem = new LitMainMenuItem();
40    litMainMenuItem.title = 'test02';
41    expect(litMainMenuItem.title).toEqual('test02');
42  });
43
44  it('litMainMenuItem05', () => {
45    document.body.innerHTML = `<lit-main-menu-item></lit-main-menu-item>
46        `;
47    let litMainMenuItem = new LitMainMenuItem();
48    litMainMenuItem.title = 'test03';
49    expect(litMainMenuItem.title).toEqual('test03');
50  });
51
52  it('litMainMenuItem06', () => {
53    document.body.innerHTML = `<lit-main-menu-item></lit-main-menu-item>
54        `;
55    let litMainMenuItem = new LitMainMenuItem();
56    expect(litMainMenuItem.isFile()).toBeFalsy();
57  });
58
59  it('litMainMenuItem07', () => {
60    document.body.innerHTML = `<lit-main-menu-item></lit-main-menu-item>
61        `;
62    let litMainMenuItem = new LitMainMenuItem();
63    litMainMenuItem.disabled = true;
64    expect(litMainMenuItem.disabled).toBeTruthy();
65  });
66
67  it('litMainMenuItem08', () => {
68    document.body.innerHTML = `<lit-main-menu-item></lit-main-menu-item>
69        `;
70    let litMainMenuItem = new LitMainMenuItem();
71    litMainMenuItem.disabled = false;
72    expect(litMainMenuItem.disabled).toBeFalsy();
73  });
74
75  it('litMainMenuItem10', () => {
76    let litMainMenuItem = new LitMainMenuItem();
77    litMainMenuItem.back = true;
78    expect(litMainMenuItem.back).toBeTruthy();
79  });
80  it('litMainMenuItem11', () => {
81    let litMainMenuItem = new LitMainMenuItem();
82    litMainMenuItem.back = false;
83    expect(litMainMenuItem.back).toBeFalsy();
84  });
85
86  it('litMainMenuItem12', () => {
87    const onclick = jest.fn();
88    let menuItem = (document.body.innerHTML = `
89            <lit-main-menu-item id='menu'></lit-main-menu-item>
90        `);
91    const menu = document.getElementById('menu');
92    expect(onclick).not.toBeCalled();
93    menu!.onclick = onclick;
94    menu!.click();
95    expect(onclick).toBeCalled();
96    expect(onclick).toHaveBeenCalledTimes(1);
97  });
98});
99