-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathusb_error_test.cc
96 lines (69 loc) · 2.91 KB
/
usb_error_test.cc
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "mist/usb_error.h"
#include <gtest/gtest.h>
namespace mist {
TEST(UsbErrorTest, DefaultConstructor) {
UsbError error;
EXPECT_TRUE(error.IsSuccess());
EXPECT_EQ(UsbError::kSuccess, error.type());
}
TEST(UsbErrorTest, ConstructorWithType) {
UsbError error(UsbError::kErrorInvalidParameter);
EXPECT_FALSE(error.IsSuccess());
EXPECT_EQ(UsbError::kErrorInvalidParameter, error.type());
}
TEST(UsbErrorTest, ConstructorWithLibUsbError) {
UsbError error(LIBUSB_ERROR_INVALID_PARAM);
EXPECT_FALSE(error.IsSuccess());
EXPECT_EQ(UsbError::kErrorInvalidParameter, error.type());
}
TEST(UsbErrorTest, IsSuccess) {
UsbError error;
EXPECT_TRUE(error.IsSuccess());
error.set_type(UsbError::kErrorIO);
EXPECT_FALSE(error.IsSuccess());
error.set_type(UsbError::kSuccess);
EXPECT_TRUE(error.IsSuccess());
}
TEST(UsbErrorTest, Clear) {
UsbError error(UsbError::kErrorIO);
EXPECT_EQ(UsbError::kErrorIO, error.type());
EXPECT_FALSE(error.IsSuccess());
error.Clear();
EXPECT_EQ(UsbError::kSuccess, error.type());
EXPECT_TRUE(error.IsSuccess());
}
TEST(UsbError, SetFromLibUsbError) {
UsbError error;
EXPECT_TRUE(error.SetFromLibUsbError(LIBUSB_SUCCESS));
EXPECT_EQ(UsbError::kSuccess, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_IO));
EXPECT_EQ(UsbError::kErrorIO, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_INVALID_PARAM));
EXPECT_EQ(UsbError::kErrorInvalidParameter, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_ACCESS));
EXPECT_EQ(UsbError::kErrorAccess, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_NO_DEVICE));
EXPECT_EQ(UsbError::kErrorNoDevice, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_NOT_FOUND));
EXPECT_EQ(UsbError::kErrorNotFound, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_BUSY));
EXPECT_EQ(UsbError::kErrorBusy, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_TIMEOUT));
EXPECT_EQ(UsbError::kErrorTimeout, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_OVERFLOW));
EXPECT_EQ(UsbError::kErrorOverflow, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_PIPE));
EXPECT_EQ(UsbError::kErrorPipe, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_INTERRUPTED));
EXPECT_EQ(UsbError::kErrorInterrupted, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_NO_MEM));
EXPECT_EQ(UsbError::kErrorNoMemory, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_NOT_SUPPORTED));
EXPECT_EQ(UsbError::kErrorNotSupported, error.type());
EXPECT_FALSE(error.SetFromLibUsbError(LIBUSB_ERROR_OTHER));
EXPECT_EQ(UsbError::kErrorOther, error.type());
}
} // namespace mist