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 { LitSlicer, LitSlicerTrack } from '../../../src/base-ui/slicer/lit-slicer';
17
18describe('slicer Test', () => {
19  it('slicerTest01', function () {
20    let litSlicer = new LitSlicer();
21    expect(litSlicer).not.toBeUndefined();
22    expect(litSlicer).not.toBeNull();
23  });
24  it('slicerTest02', function () {
25    let litSlicerTrack = new LitSlicerTrack();
26    expect(litSlicerTrack).not.toBeUndefined();
27    expect(litSlicerTrack).not.toBeNull();
28  });
29  it('slicerTest03', function () {
30    let litSlicerTrack = new LitSlicerTrack();
31    expect(litSlicerTrack.rangeLeft).toBe(200);
32  });
33  it('slicerTest04', function () {
34    let litSlicerTrack = new LitSlicerTrack();
35    litSlicerTrack.rangeLeft = true;
36    expect(litSlicerTrack.rangeLeft).not.toBeTruthy();
37  });
38  it('slicerTest05', function () {
39    let litSlicerTrack = new LitSlicerTrack();
40    expect(litSlicerTrack.rangeRight).toBe(300);
41  });
42  it('slicerTest09', function () {
43    let litSlicerTrack = new LitSlicerTrack();
44    litSlicerTrack.rangeRight = false;
45    expect(litSlicerTrack.rangeRight).toBeFalsy();
46  });
47  it('slicerTest06', function () {
48    let litSlicer = new LitSlicer();
49    expect(litSlicer.attributeChangedCallback()).toBeUndefined();
50  });
51  it('slicerTest07', function () {
52    let litSlicerTrack = new LitSlicerTrack();
53    expect(litSlicerTrack.adoptedCallback()).toBeUndefined();
54  });
55  it('slicerTest08', function () {
56    let litSlicerTrack = new LitSlicerTrack();
57    expect(litSlicerTrack.attributeChangedCallback()).toBeUndefined();
58  });
59  it('slicerTest10', function () {
60    let litSlicer = new LitSlicer();
61    litSlicer.direction = 'h';
62    expect(litSlicer.connectedCallback()).toBeUndefined();
63  });
64  it('slicerTest11', function () {
65    let litSlicer = new LitSlicer();
66    litSlicer.direction = 'v';
67    expect(litSlicer.direction).toBeUndefined();
68  });
69  it('slicerTest12', function () {
70    let litSlicer = new LitSlicer();
71    litSlicer.style = 'v';
72    expect(litSlicer.style).toBeUndefined();
73  });
74
75  it('slicerTest13', function () {
76    let litSlicer = new LitSlicer();
77    litSlicer.style = 'v';
78    document.body.innerHTML = `
79        <lit-slicer-track id="slicer_2"></lit-slicer-track>
80        <lit-slicer-track id="slicer"></lit-slicer-track>
81        `;
82    let slice = document.getElementById('slicer') as LitSlicerTrack;
83    let line = slice.shadowRoot?.querySelector('#root') as HTMLDivElement;
84    let mouseOutEvent: MouseEvent = new MouseEvent('mousedown', <MouseEventInit>{ movementX: 1, movementY: 2 });
85
86    line.dispatchEvent(mouseOutEvent);
87    let onmousemove: MouseEvent = new MouseEvent('mousemove', <MouseEventInit>{ movementX: 1, movementY: 2 });
88    document.dispatchEvent(onmousemove);
89    let onmouseleave: MouseEvent = new MouseEvent('mouseleave', <MouseEventInit>{ movementX: 1, movementY: 2 });
90    document.dispatchEvent(onmouseleave);
91    let onmouseup: MouseEvent = new MouseEvent('mouseup', <MouseEventInit>{
92      movementX: 1,
93      movementY: 2,
94    });
95    document.dispatchEvent(onmouseup);
96    expect(litSlicer.style).toBeUndefined();
97  });
98});
99