char tmp[MAX_PATH];
int fd;
- m_ptempFilePath = CSpecialProtocol::TranslatePath("special://temp/");
- m_ptempFilePath += "xbmctempfileXXXXXX";
+ m_ptempFileDirectory = CSpecialProtocol::TranslatePath("special://temp/");
+ m_ptempFilePath = m_ptempFileDirectory + "xbmctempfileXXXXXX";
m_ptempFilePath += suffix;
if (m_ptempFilePath.length() >= MAX_PATH)
{
{
return m_ptempFilePath;
}
+ CStdString getTempFileDirectory() const
+ {
+ return m_ptempFileDirectory;
+ }
private:
CStdString m_ptempFilePath;
+ CStdString m_ptempFileDirectory;
};
CXBMCTestUtils::CXBMCTestUtils()
return f->getTempFilePath();
}
+CStdString CXBMCTestUtils::TempFileDirectory(XFILE::CFile const* const tempfile)
+{
+ if (!tempfile)
+ return "";
+ CTempFile const* const f = static_cast<CTempFile const* const>(tempfile);
+ return f->getTempFileDirectory();
+}
+
XFILE::CFile *CXBMCTestUtils::CreateCorruptedFile(CStdString const& strFileName,
CStdString const& suffix)
{
/* Function to get path of a tempfile */
CStdString TempFilePath(XFILE::CFile const* const tempfile);
+ /* Get the containing directory of a tempfile */
+ CStdString TempFileDirectory(XFILE::CFile const* const tempfile);
+
/* Functions to get variables used in the TestFileFactory tests. */
std::vector<CStdString> &getTestFileFactoryReadUrls();
EXPECT_TRUE(XFILE::CDirectory::Remove(destpath));
}
-// This test will fail until ActionCreateFolder has a proper implementation
TEST(TestFileOperationJob, ActionCreateFolder)
{
XFILE::CFile *tmpfile;
ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE("")));
tmpfilepath = XBMC_TEMPFILEPATH(tmpfile);
+
+ CStdString tmpfiledirectory =
+ CXBMCTestUtils::Instance().TempFileDirectory(tmpfile);
+
tmpfile->Close();
destpath = tmpfilepath;
item->Select(true);
items.Add(item);
- job.SetFileOperation(CFileOperationJob::ActionCreateFolder, items, destpath);
+ job.SetFileOperation(CFileOperationJob::ActionCreateFolder, items, tmpfiledirectory);
EXPECT_EQ(CFileOperationJob::ActionCreateFolder, job.GetAction());
EXPECT_TRUE(job.DoWork());