45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
// Copyright 2019 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "base/fuchsia/file_utils.h"
|
|
|
|
#include "base/files/file_util.h"
|
|
#include "base/files/scoped_temp_dir.h"
|
|
#include "testing/gtest/include/gtest/gtest.h"
|
|
|
|
namespace base {
|
|
|
|
class OpenDirectoryTest : public testing::Test {
|
|
protected:
|
|
void SetUp() override {
|
|
EXPECT_TRUE(temp_dir.CreateUniqueTempDirUnderPath(
|
|
base::FilePath(kPersistedDataDirectoryPath)));
|
|
}
|
|
|
|
ScopedTempDir temp_dir;
|
|
};
|
|
|
|
TEST_F(OpenDirectoryTest, Open) {
|
|
auto dir = OpenDirectoryHandle(temp_dir.GetPath());
|
|
ASSERT_TRUE(dir);
|
|
}
|
|
|
|
// OpenDirectoryHandle() should fail when opening a directory that doesn't
|
|
// exist.
|
|
TEST_F(OpenDirectoryTest, OpenNonExistent) {
|
|
auto dir =
|
|
OpenDirectoryHandle(temp_dir.GetPath().AppendASCII("non_existent"));
|
|
ASSERT_FALSE(dir);
|
|
}
|
|
|
|
// OpenDirectoryHandle() should open only directories.
|
|
TEST_F(OpenDirectoryTest, OpenFile) {
|
|
auto file_path = temp_dir.GetPath().AppendASCII("test_file");
|
|
ASSERT_TRUE(WriteFile(file_path, "foo"));
|
|
auto dir = OpenDirectoryHandle(file_path);
|
|
ASSERT_FALSE(dir);
|
|
}
|
|
|
|
} // namespace base
|