UsbFunctionsJsunit.test.js 4.9 KB
Newer Older
J
jiyong_sd 已提交
1
/*
L
lixiaofeng_154b 已提交
2
 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
J
jiyong_sd 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

L
lixiaofeng_154b 已提交
16
import usbManager from '@ohos.usbManager';
J
jiyong_sd 已提交
17 18 19 20 21 22 23 24 25
import CheckEmptyUtils from './CheckEmptyUtils.js';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'

/* usb core functions test */
export default function UsbFunctionsJsFunctionsTest() {
describe('UsbFunctionsJsFunctionsTest', function () {

  beforeAll(function () {
    console.log('*************Usb Unit UsbFunctionsJsFunctionsTest Begin*************');
L
lixiaofeng_154b 已提交
26
    var Version = usbManager.getVersion()
J
jiyong_sd 已提交
27 28
    console.info('begin test getversion :' + Version)
    // version > 17  host currentMode = 2 device currentMode = 1
L
lixiaofeng_154b 已提交
29
    var usbPortList = usbManager.getPorts()
J
jiyong_sd 已提交
30 31
    if (usbPortList.length > 0) {
      if (usbPortList[0].status.currentMode == 2) {
L
lixiaofeng_154b 已提交
32
        usbManager.setPortRoles(usbPortList[0].id, usbManager.SINK, usbManager.DEVICE).then(data => {
J
jiyong_sd 已提交
33 34 35 36
          console.info('usb case setPortRoles return: ' + data);
        }).catch(error => {
          console.info('usb case setPortRoles error : ' + error);
        });
37
        CheckEmptyUtils.sleep(8000)
J
jiyong_sd 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
        console.log('*************Usb Unit switch to device Begin*************');
      }
    }
  })
  beforeEach(function () {
    console.info('beforeEach: *************Usb Unit  Test Case*************');
  })
  afterEach(function () {
    console.info('afterEach: *************Usb Unit  Test Case*************');
  })
  afterAll(function () {
    console.log('*************Usb Unit UsbFunctionsJsFunctionsTest End*************');
  })

  /**
53 54 55
   * @tc.number: SUB_USB_JS_0330
   * @tc.name: getCurrentFunctions
   * @tc.desc: Positive test: Get current device mode, mask and description character conversion
56
   * @tc.desc: 【C-ALL-HARDWARE-0500】端口必须可连接到具有标准A型或C型的主机模式的USB端口
J
jiyong_sd 已提交
57 58 59
   */
  it('SUB_USB_JS_0330', 0, function () {
    console.info('usb SUB_USB_JS_0330 begin');
L
lixiaofeng_154b 已提交
60
    var maskCode = usbManager.getCurrentFunctions();
J
jiyong_sd 已提交
61 62
    console.info('usb case getCurrentFunctions return: ' + maskCode);

L
lixiaofeng_154b 已提交
63
    var strMaskCode = usbManager.usbFunctionsToString(maskCode)
J
jiyong_sd 已提交
64
    console.info('usb case usbFunctionsToString return str: ' + strMaskCode);
L
lixiaofeng_154b 已提交
65
    var nMaskCode = usbManager.usbFunctionsFromString(strMaskCode)
J
jiyong_sd 已提交
66 67 68 69 70 71
    console.info('usb case strMaskCode usbFunctionsFromString return int: ' + nMaskCode);
    expect(nMaskCode).assertEqual(maskCode);
    console.info('usb SUB_USB_JS_0330 :  PASS');
  })

  /**
72 73 74
   * @tc.number: SUB_USB_JS_0340
   * @tc.name: usbFunctionString
   * @tc.desc: Negative test: Get current device mode, mask and description character conversion, nMaskcode=0
J
jiyong_sd 已提交
75 76 77
   */
  it('SUB_USB_JS_0340', 0, function () {
    console.info('usb SUB_USB_JS_0340 begin');
L
lixiaofeng_154b 已提交
78
    var maskCode = usbManager.getCurrentFunctions();
J
jiyong_sd 已提交
79 80
    console.info('usb case getCurrentFunctions return: ' + maskCode);

L
lixiaofeng_154b 已提交
81
    var strMaskCode = usbManager.usbFunctionsToString(maskCode)
J
jiyong_sd 已提交
82
    console.info('usb case usbFunctionsToString return str: ' + strMaskCode);
L
lixiaofeng_154b 已提交
83
    var nMaskCode = usbManager.usbFunctionsFromString(strMaskCode)
J
jiyong_sd 已提交
84 85 86
    console.info('usb case strMaskCode usbFunctionsFromString return int: ' + nMaskCode);

    var errmaskCode = 0
L
lixiaofeng_154b 已提交
87
    var strMaskCode = usbManager.usbFunctionsToString(errmaskCode)
J
jiyong_sd 已提交
88 89 90 91

    console.info('usb case ' + errmaskCode + ' usbFunctionsToString return str: ' + strMaskCode);

    var errStrMaskCode = 'none'
L
lixiaofeng_154b 已提交
92
    var nMaskCode = usbManager.usbFunctionsFromString(errStrMaskCode)
J
jiyong_sd 已提交
93 94
    console.info('usb case errStrMaskCode ' + errStrMaskCode +
      ' usbFunctionsFromString return int: ' + nMaskCode);
L
lixiaofeng_154b 已提交
95
    expect(nMaskCode).assertEqual(usbManager.NONE);
J
jiyong_sd 已提交
96 97 98
    console.info('usb SUB_USB_JS_0340 :  PASS');
  })

W
wu-chengwen 已提交
99
  /**
100 101 102 103
   * @tc.number: SUB_USB_JS_1000
   * @tc.name: getCurrentFunctions
   * @tc.desc: Negative test: Get the current device mode,
   * parameters exception(parameter transfer without parameter interface)
W
wu-chengwen 已提交
104 105 106 107
   */
  it('SUB_USB_JS_1000', 0, function () {
    console.info('usb SUB_USB_JS_1000 begin');
    try {
L
lixiaofeng_154b 已提交
108
      var maskCode = usbManager.getCurrentFunctions("invalid");
109
      console.info('usb 1000 case getCurrentFunctions return: ' + maskCode);
110
      expect(false).assertTrue();
W
wu-chengwen 已提交
111
    } catch (err) {
112
      console.info('usb 1000 catch err code: ' + err.code + ' message: ' + err.message);
W
wu-chengwen 已提交
113 114 115 116
      expect(err.code).assertEqual(401);
      console.info('usb SUB_USB_JS_1000 :  PASS');
    }
  })
J
jiyong_sd 已提交
117 118
})
}