diff options
Diffstat (limited to 'sfx2/qa/cppunit/test_misc.cxx')
-rw-r--r-- | sfx2/qa/cppunit/test_misc.cxx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sfx2/qa/cppunit/test_misc.cxx b/sfx2/qa/cppunit/test_misc.cxx index 5f36b438f089..a1ecc01a7c61 100644 --- a/sfx2/qa/cppunit/test_misc.cxx +++ b/sfx2/qa/cppunit/test_misc.cxx @@ -9,6 +9,9 @@ #include <sal/types.h> +#ifndef _WIN32 +#include <sys/stat.h> +#endif #include <memory> #include <cppunit/TestAssert.h> @@ -31,6 +34,7 @@ #include <comphelper/propertysequence.hxx> #include <comphelper/processfactory.hxx> #include <sfx2/app.hxx> +#include <osl/file.hxx> using namespace ::com::sun::star; @@ -117,11 +121,29 @@ void MiscTest::testNoThumbnail() utl::TempFile aTempFile; uno::Sequence<beans::PropertyValue> aProperties( comphelper::InitPropertySequence({ { "NoThumbnail", uno::makeAny(true) } })); + osl::File::remove(aTempFile.GetURL()); xStorable->storeToURL(aTempFile.GetURL(), aProperties); uno::Reference<packages::zip::XZipFileAccess2> xZipFile = packages::zip::ZipFileAccess::createWithURL(m_xContext, aTempFile.GetURL()); CPPUNIT_ASSERT(!xZipFile->hasByName("Thumbnails/thumbnail.png")); +#ifndef _WIN32 + // Check permissions of the URL after store. + mode_t nMask = umask(022); + osl::DirectoryItem aItem; + CPPUNIT_ASSERT_EQUAL(osl::DirectoryItem::E_None, + osl::DirectoryItem::get(aTempFile.GetURL(), aItem)); + + osl::FileStatus aStatus(osl_FileStatus_Mask_Attributes); + CPPUNIT_ASSERT_EQUAL(osl::DirectoryItem::E_None, aItem.getFileStatus(aStatus)); + + // This failed, osl_File_Attribute_GrpRead was not set even if umask + // requested so. + CPPUNIT_ASSERT(aStatus.getAttributes() & osl_File_Attribute_GrpRead); + CPPUNIT_ASSERT(aStatus.getAttributes() & osl_File_Attribute_OthRead); + umask(nMask); +#endif + xComponent->dispose(); } |