UsbFunctionsJsunit.test.js 4.7 KB
Newer Older
J
jiyong_sd 已提交
1 2 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
/*
 * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
 * 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
J
jiyong_sd 已提交
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
   */
  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');
  })

  /**
71 72 73
   * @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 已提交
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
   */
  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);
94
    expect(nMaskCode).assertEqual(usb.NONE);
J
jiyong_sd 已提交
95 96 97
    console.info('usb SUB_USB_JS_0340 :  PASS');
  })

W
wu-chengwen 已提交
98
  /**
99 100 101 102
   * @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 已提交
103 104 105 106 107
   */
  it('SUB_USB_JS_1000', 0, function () {
    console.info('usb SUB_USB_JS_1000 begin');
    try {
      var maskCode = usb.getCurrentFunctions("invalid");
108
      console.info('usb 1000 case getCurrentFunctions return: ' + maskCode);
109
      expect(false).assertTrue();
W
wu-chengwen 已提交
110
    } catch (err) {
111
      console.info('usb 1000 catch err code: ' + err.code + ' message: ' + err.message);
W
wu-chengwen 已提交
112 113 114 115
      expect(err.code).assertEqual(401);
      console.info('usb SUB_USB_JS_1000 :  PASS');
    }
  })
J
jiyong_sd 已提交
116 117
})
}