| // Copyright 2019 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 "smbfs/util.h" |
| |
| #include <fcntl.h> |
| #include <fuse_lowlevel.h> |
| |
| #include <base/files/file_path.h> |
| #include <gtest/gtest.h> |
| |
| namespace smbfs { |
| namespace { |
| |
| TEST(UtilTest, OpenFlagsToString) { |
| EXPECT_EQ("O_RDONLY", OpenFlagsToString(O_RDONLY)); |
| EXPECT_EQ("O_WRONLY|O_ASYNC", OpenFlagsToString(O_WRONLY | O_ASYNC)); |
| EXPECT_EQ("O_RDWR|O_CREAT|O_EXCL|O_TRUNC", |
| OpenFlagsToString(O_RDWR | O_CREAT | O_EXCL | O_TRUNC)); |
| EXPECT_EQ("O_RDWR|0x78000000", OpenFlagsToString(O_RDWR | 0x78000000)); |
| |
| EXPECT_EQ("INVALID_OPEN_MODE", |
| OpenFlagsToString(O_RDONLY | O_WRONLY | O_RDWR)); |
| } |
| |
| TEST(UtilTest, ToSetFlagsToString) { |
| EXPECT_EQ("0", ToSetFlagsToString(0)); |
| EXPECT_EQ("FUSE_SET_ATTR_SIZE", ToSetFlagsToString(FUSE_SET_ATTR_SIZE)); |
| EXPECT_EQ("FUSE_SET_ATTR_UID|FUSE_SET_ATTR_GID", |
| ToSetFlagsToString(FUSE_SET_ATTR_UID | FUSE_SET_ATTR_GID)); |
| EXPECT_EQ("FUSE_SET_ATTR_ATIME|0x120000", |
| ToSetFlagsToString(FUSE_SET_ATTR_ATIME | 0x120000)); |
| } |
| |
| TEST(UtilTest, IpAddressToString) { |
| EXPECT_EQ("", IpAddressToString({})); |
| EXPECT_EQ("", IpAddressToString({1})); |
| EXPECT_EQ("", IpAddressToString({1, 2, 3, 4, 5})); |
| |
| EXPECT_EQ("0.0.0.0", IpAddressToString({0, 0, 0, 0})); |
| EXPECT_EQ("1.2.3.4", IpAddressToString({1, 2, 3, 4})); |
| EXPECT_EQ("255.255.255.255", IpAddressToString({255, 255, 255, 255})); |
| } |
| |
| } // namespace |
| } // namespace smbfs |