1*6777b538SAndroid Build Coastguard Worker // Copyright 2019 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "base/fuchsia/file_utils.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/files/file_util.h" 8*6777b538SAndroid Build Coastguard Worker #include "base/files/scoped_temp_dir.h" 9*6777b538SAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace base { 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker class OpenDirectoryTest : public testing::Test { 14*6777b538SAndroid Build Coastguard Worker protected: SetUp()15*6777b538SAndroid Build Coastguard Worker void SetUp() override { 16*6777b538SAndroid Build Coastguard Worker EXPECT_TRUE(temp_dir.CreateUniqueTempDirUnderPath( 17*6777b538SAndroid Build Coastguard Worker base::FilePath(kPersistedDataDirectoryPath))); 18*6777b538SAndroid Build Coastguard Worker } 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Worker ScopedTempDir temp_dir; 21*6777b538SAndroid Build Coastguard Worker }; 22*6777b538SAndroid Build Coastguard Worker TEST_F(OpenDirectoryTest,Open)23*6777b538SAndroid Build Coastguard WorkerTEST_F(OpenDirectoryTest, Open) { 24*6777b538SAndroid Build Coastguard Worker auto dir = OpenDirectoryHandle(temp_dir.GetPath()); 25*6777b538SAndroid Build Coastguard Worker ASSERT_TRUE(dir); 26*6777b538SAndroid Build Coastguard Worker } 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Worker // OpenDirectoryHandle() should fail when opening a directory that doesn't 29*6777b538SAndroid Build Coastguard Worker // exist. TEST_F(OpenDirectoryTest,OpenNonExistent)30*6777b538SAndroid Build Coastguard WorkerTEST_F(OpenDirectoryTest, OpenNonExistent) { 31*6777b538SAndroid Build Coastguard Worker auto dir = 32*6777b538SAndroid Build Coastguard Worker OpenDirectoryHandle(temp_dir.GetPath().AppendASCII("non_existent")); 33*6777b538SAndroid Build Coastguard Worker ASSERT_FALSE(dir); 34*6777b538SAndroid Build Coastguard Worker } 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker // OpenDirectoryHandle() should open only directories. TEST_F(OpenDirectoryTest,OpenFile)37*6777b538SAndroid Build Coastguard WorkerTEST_F(OpenDirectoryTest, OpenFile) { 38*6777b538SAndroid Build Coastguard Worker auto file_path = temp_dir.GetPath().AppendASCII("test_file"); 39*6777b538SAndroid Build Coastguard Worker ASSERT_TRUE(WriteFile(file_path, "foo")); 40*6777b538SAndroid Build Coastguard Worker auto dir = OpenDirectoryHandle(file_path); 41*6777b538SAndroid Build Coastguard Worker ASSERT_FALSE(dir); 42*6777b538SAndroid Build Coastguard Worker } 43*6777b538SAndroid Build Coastguard Worker 44*6777b538SAndroid Build Coastguard Worker } // namespace base 45