UsbFunctionsJsunit.test.js 4.8 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 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
 * 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.
 */

import usb from '@ohos.usb';
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*************');
    var Version = usb.getVersion()
    console.info('begin test getversion :' + Version)
    // version > 17  host currentMode = 2 device currentMode = 1
    var usbPortList = usb.getPorts()
    if (usbPortList.length > 0) {
      if (usbPortList[0].status.currentMode == 2) {
        usb.setPortRoles(usbPortList[0].id, usb.SINK, usb.DEVICE).then(data => {
          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 60 61 62 63 64 65 66 67 68 69 70 71
   */
  it('SUB_USB_JS_0330', 0, function () {
    console.info('usb SUB_USB_JS_0330 begin');
    var maskCode = usb.getCurrentFunctions();
    console.info('usb case getCurrentFunctions return: ' + maskCode);

    var strMaskCode = usb.usbFunctionsToString(maskCode)
    console.info('usb case usbFunctionsToString return str: ' + strMaskCode);
    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
    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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
   */
  it('SUB_USB_JS_0340', 0, function () {
    console.info('usb SUB_USB_JS_0340 begin');
    var maskCode = usb.getCurrentFunctions();
    console.info('usb case getCurrentFunctions return: ' + maskCode);

    var strMaskCode = usb.usbFunctionsToString(maskCode)
    console.info('usb case usbFunctionsToString return str: ' + strMaskCode);
    var nMaskCode = usb.usbFunctionsFromString(strMaskCode)
    console.info('usb case strMaskCode usbFunctionsFromString return int: ' + nMaskCode);

    var errmaskCode = 0
    var strMaskCode = usb.usbFunctionsToString(errmaskCode)

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

    var errStrMaskCode = 'none'
    var nMaskCode = usb.usbFunctionsFromString(errStrMaskCode)
    console.info('usb case errStrMaskCode ' + errStrMaskCode +
      ' usbFunctionsFromString return int: ' + nMaskCode);
95
    expect(nMaskCode).assertEqual(usb.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 108
   */
  it('SUB_USB_JS_1000', 0, function () {
    console.info('usb SUB_USB_JS_1000 begin');
    try {
      var maskCode = usb.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
})
}