142103316Sopenharmony_ci/*
242103316Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd.
342103316Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the 'License');
442103316Sopenharmony_ci * you may not use this file except in compliance with the License.
542103316Sopenharmony_ci * You may obtain a copy of the License at
642103316Sopenharmony_ci *
742103316Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
842103316Sopenharmony_ci *
942103316Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1042103316Sopenharmony_ci * distributed under the License is distributed on an 'AS IS' BASIS,
1142103316Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1242103316Sopenharmony_ci * See the License for the specific language governing permissions and
1342103316Sopenharmony_ci * limitations under the License.
1442103316Sopenharmony_ci */
1542103316Sopenharmony_ci
1642103316Sopenharmony_ciimport usb from '@ohos.usb';
1742103316Sopenharmony_ciimport { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
1842103316Sopenharmony_ci
1942103316Sopenharmony_ci/* usb core functions test */
2042103316Sopenharmony_cidescribe('UsbFunctionsJsFunctionsTestEx', function () {
2142103316Sopenharmony_ci
2242103316Sopenharmony_ci  beforeAll(function () {
2342103316Sopenharmony_ci    console.log('*************Usb Unit UsbFunctionsJsFunctionsTestEx Begin*************');
2442103316Sopenharmony_ci    var Version = usb.getVersion()
2542103316Sopenharmony_ci    console.info('begin test getversion :' + Version)
2642103316Sopenharmony_ci    //  17 version host currentMode = 2 device currentMode = 1
2742103316Sopenharmony_ci    var usbPortList = usb.getPorts()
2842103316Sopenharmony_ci    if (usbPortList.length > 0) {
2942103316Sopenharmony_ci      if (usbPortList[0].status.currentMode == 2) {
3042103316Sopenharmony_ci        usb.setPortRoles(usbPortList[0].id, usb.SINK, usb.DEVICE).then(data => {
3142103316Sopenharmony_ci          console.info('usb case setPortRoles return: ' + data);
3242103316Sopenharmony_ci        }).catch(error => {
3342103316Sopenharmony_ci          console.info('usb case setPortRoles error : ' + error);
3442103316Sopenharmony_ci        });
3542103316Sopenharmony_ci
3642103316Sopenharmony_ci        console.log('*************Usb Unit switch to device Begin*************');
3742103316Sopenharmony_ci      }
3842103316Sopenharmony_ci    }
3942103316Sopenharmony_ci  })
4042103316Sopenharmony_ci  beforeEach(function () {
4142103316Sopenharmony_ci    console.info('beforeEach: *************Usb Unit Test Case*************');
4242103316Sopenharmony_ci  })
4342103316Sopenharmony_ci
4442103316Sopenharmony_ci  afterEach(function () {
4542103316Sopenharmony_ci    console.info('afterEach: *************Usb Unit Test Case*************');
4642103316Sopenharmony_ci  })
4742103316Sopenharmony_ci
4842103316Sopenharmony_ci  afterAll(function () {
4942103316Sopenharmony_ci    console.log('*************Usb Unit UsbFunctionsJsFunctionsTest End*************');
5042103316Sopenharmony_ci  })
5142103316Sopenharmony_ci
5242103316Sopenharmony_ci  /**
5342103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_01
5442103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
5542103316Sopenharmony_ci   * @tc.desc      : 正向测试 0 返回 'none'
5642103316Sopenharmony_ci   */
5742103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_01', 0, function () {
5842103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_01 begin');
5942103316Sopenharmony_ci    var maskCode = usb.NONE
6042103316Sopenharmony_ci    console.info('usb case maskCode : ' + usb.NONE);
6142103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
6242103316Sopenharmony_ci    expect(strMaskCode).assertEqual('none');
6342103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
6442103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_01 :  PASS');
6542103316Sopenharmony_ci  })
6642103316Sopenharmony_ci
6742103316Sopenharmony_ci  /**
6842103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_02
6942103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
7042103316Sopenharmony_ci   * @tc.desc      : 正向测试 1 返回 'acm'
7142103316Sopenharmony_ci   */
7242103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_02', 0, function () {
7342103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 begin');
7442103316Sopenharmony_ci    var maskCode = usb.ACM
7542103316Sopenharmony_ci    console.info('usb case maskCode : ' + usb.ACM);
7642103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
7742103316Sopenharmony_ci    expect(strMaskCode).assertEqual('acm');
7842103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
7942103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 :  PASS');
8042103316Sopenharmony_ci  })
8142103316Sopenharmony_ci
8242103316Sopenharmony_ci  /**
8342103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_03
8442103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
8542103316Sopenharmony_ci   * @tc.desc      : 正向测试 2 返回 'ecm'
8642103316Sopenharmony_ci   */
8742103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_03', 0, function () {
8842103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 begin');
8942103316Sopenharmony_ci    var maskCode = usb.ECM
9042103316Sopenharmony_ci    console.info('usb case maskCode : ' + maskCode);
9142103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
9242103316Sopenharmony_ci    expect(strMaskCode).assertEqual('ecm');
9342103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
9442103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 :  PASS');
9542103316Sopenharmony_ci  })
9642103316Sopenharmony_ci
9742103316Sopenharmony_ci  /**
9842103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_04
9942103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
10042103316Sopenharmony_ci   * @tc.desc      : 正向测试 3 返回 'acm,ecm'
10142103316Sopenharmony_ci   */
10242103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_04', 0, function () {
10342103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 begin');
10442103316Sopenharmony_ci    var maskCode = usb.ACM | usb.ECM
10542103316Sopenharmony_ci    console.info('usb case maskCode : ' + maskCode);
10642103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
10742103316Sopenharmony_ci    expect(strMaskCode).assertEqual('acm,ecm');
10842103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
10942103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_02 :  PASS');
11042103316Sopenharmony_ci  })
11142103316Sopenharmony_ci
11242103316Sopenharmony_ci  /**
11342103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_05
11442103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
11542103316Sopenharmony_ci   * @tc.desc      : 正向测试 4 返回 'hdc'
11642103316Sopenharmony_ci   */
11742103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_05', 0, function () {
11842103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_05 begin');
11942103316Sopenharmony_ci    var maskCode = usb.HDC
12042103316Sopenharmony_ci    console.info('usb case maskCode : ' + maskCode);
12142103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
12242103316Sopenharmony_ci    expect(strMaskCode).assertEqual('hdc');
12342103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
12442103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_05 :  PASS');
12542103316Sopenharmony_ci  })
12642103316Sopenharmony_ci
12742103316Sopenharmony_ci  /**
12842103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_06
12942103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
13042103316Sopenharmony_ci   * @tc.desc      : 正向测试 5 返回 'acm,hdc'
13142103316Sopenharmony_ci   */
13242103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_06', 0, function () {
13342103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_06 begin');
13442103316Sopenharmony_ci    var maskCode = usb.ACM | usb.HDC
13542103316Sopenharmony_ci    console.info('usb case maskCode : ' + maskCode);
13642103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
13742103316Sopenharmony_ci    expect(strMaskCode).assertEqual('hdc,acm');
13842103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
13942103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_06 :  PASS');
14042103316Sopenharmony_ci  })
14142103316Sopenharmony_ci
14242103316Sopenharmony_ci  /**
14342103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_to_string_test_07
14442103316Sopenharmony_ci   * @tc.name      : usbFunctionsToString
14542103316Sopenharmony_ci   * @tc.desc      : 正向测试 6 返回 'ecm,hdc'
14642103316Sopenharmony_ci   */
14742103316Sopenharmony_ci  it('SUB_USB_usb_function_to_string_test_07', 0, function () {
14842103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_07 begin');
14942103316Sopenharmony_ci    var maskCode = usb.ECM | usb.HDC
15042103316Sopenharmony_ci    console.info('usb case maskCode : ' + maskCode);
15142103316Sopenharmony_ci    var strMaskCode = usb.usbFunctionsToString(maskCode)
15242103316Sopenharmony_ci    expect(strMaskCode).assertEqual('hdc,ecm');
15342103316Sopenharmony_ci    console.info('usb case maskCode ' + maskCode + ' usbFunctionsToString return int: ' + strMaskCode);
15442103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_07 :  PASS');
15542103316Sopenharmony_ci  })
15642103316Sopenharmony_ci
15742103316Sopenharmony_ci  /**
15842103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_01
15942103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
16042103316Sopenharmony_ci   * @tc.desc      : 正向测试 'none' 返回 0
16142103316Sopenharmony_ci   */
16242103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_01', 0, function () {
16342103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_01 begin');
16442103316Sopenharmony_ci    var strMaskCode = 'none'
16542103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
16642103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.NONE);
16742103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
16842103316Sopenharmony_ci    console.info('usb usb_function_to_string_test_01 :  PASS');
16942103316Sopenharmony_ci  })
17042103316Sopenharmony_ci
17142103316Sopenharmony_ci  /**
17242103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_02
17342103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
17442103316Sopenharmony_ci   * @tc.desc      : 正向测试 'acm' 返回 1
17542103316Sopenharmony_ci   */
17642103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_02', 0, function () {
17742103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_02 begin');
17842103316Sopenharmony_ci    var strMaskCode = 'acm'
17942103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
18042103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.ACM);
18142103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
18242103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_02 :  PASS');
18342103316Sopenharmony_ci  })
18442103316Sopenharmony_ci
18542103316Sopenharmony_ci  /**
18642103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_03
18742103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
18842103316Sopenharmony_ci   * @tc.desc      : 正向测试 'ecm' 返回 2
18942103316Sopenharmony_ci   */
19042103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_03', 0, function () {
19142103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_03 begin');
19242103316Sopenharmony_ci    var strMaskCode = 'ecm'
19342103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
19442103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.ECM);
19542103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
19642103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_03 :  PASS');
19742103316Sopenharmony_ci  })
19842103316Sopenharmony_ci
19942103316Sopenharmony_ci  /**
20042103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_04
20142103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
20242103316Sopenharmony_ci   * @tc.desc      : 正向测试 'acm,ecm' 返回 3
20342103316Sopenharmony_ci   */
20442103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_04', 0, function () {
20542103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_04 begin');
20642103316Sopenharmony_ci    var strMaskCode = 'acm,ecm'
20742103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
20842103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.ACM | usb.ECM);
20942103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
21042103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_04 :  PASS');
21142103316Sopenharmony_ci  })
21242103316Sopenharmony_ci
21342103316Sopenharmony_ci  /**
21442103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_05
21542103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
21642103316Sopenharmony_ci   * @tc.desc      : 正向测试 'hdc' 返回 4
21742103316Sopenharmony_ci   */
21842103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_05', 0, function () {
21942103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_05 begin');
22042103316Sopenharmony_ci    var strMaskCode = 'hdc'
22142103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
22242103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.HDC);
22342103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
22442103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_04 :  PASS');
22542103316Sopenharmony_ci  })
22642103316Sopenharmony_ci
22742103316Sopenharmony_ci  /**
22842103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_06
22942103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
23042103316Sopenharmony_ci   * @tc.desc      : 正向测试 'acm,hdc' 返回 5
23142103316Sopenharmony_ci   */
23242103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_06', 0, function () {
23342103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_06 begin');
23442103316Sopenharmony_ci    var strMaskCode = 'acm,hdc'
23542103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
23642103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.HDC | usb.ACM);
23742103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
23842103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_06 :  PASS');
23942103316Sopenharmony_ci  })
24042103316Sopenharmony_ci
24142103316Sopenharmony_ci  /**
24242103316Sopenharmony_ci   * @tc.number    : SUB_USB_usb_function_from_string_test_07
24342103316Sopenharmony_ci   * @tc.name      : usbFunctionsFromString
24442103316Sopenharmony_ci   * @tc.desc      : 正向测试 'ecm,hdc' 返回 6
24542103316Sopenharmony_ci   */
24642103316Sopenharmony_ci  it('SUB_USB_usb_function_from_string_test_07', 0, function () {
24742103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_07 begin');
24842103316Sopenharmony_ci    var strMaskCode = 'ecm,hdc'
24942103316Sopenharmony_ci    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
25042103316Sopenharmony_ci    expect(nMaskCode).assertEqual(usb.HDC | usb.ECM);
25142103316Sopenharmony_ci    console.info('usb case strMaskCode ' + strMaskCode + ' usbFunctionsFromString return int: ' + nMaskCode);
25242103316Sopenharmony_ci    console.info('usb usb_function_from_string_test_07 :  PASS');
25342103316Sopenharmony_ci  })
25442103316Sopenharmony_ci
25542103316Sopenharmony_ci})
256