diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2016-07-28 12:22:00 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-08-18 02:39:15 +0200 |
commit | 2a5ac6f6348acdfacc3a551b184369fe7dbfa0cd (patch) | |
tree | 9f8cecc8f42eed1650aa214735d38de349c29ee6 /test | |
parent | 51cd1024a689955beacb1a64f30931e2797f7f43 (diff) |
screenshots: unify dumping of dialog test batch file
Change-Id: Ia1e79216d9537c65f8b7362778a2e1ad3ec6c2c2
Diffstat (limited to 'test')
-rw-r--r-- | test/source/screenshot_test.cxx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/source/screenshot_test.cxx b/test/source/screenshot_test.cxx index dfbd2cee257c..a700b8d928e8 100644 --- a/test/source/screenshot_test.cxx +++ b/test/source/screenshot_test.cxx @@ -199,4 +199,57 @@ void ScreenshotTest::dumpDialogToPath(const OString& rUIXMLDescription) } } +void ScreenshotTest::processAllKnownDialogs() +{ + for (mapType::const_iterator i = getKnownDialogs().begin(); i != getKnownDialogs().end(); i++) + { + std::unique_ptr<VclAbstractDialog> pDlg(createDialogByID((*i).second)); + + if (pDlg) + { + // known dialog, dump screenshot to path + dumpDialogToPath(*pDlg); + } + else + { + // unknown dialog, should not happen in this basic loop. + // You have probably forgotten to add a case and + // implementastion to createDialogByID, please do this + } + } +} + +void ScreenshotTest::processDialogBatchFile(const OUString& rFile) +{ + test::Directories aDirectories; + const OUString aURL(aDirectories.getURLFromSrc(rFile)); + SvFileStream aStream(aURL, StreamMode::READ); + OString aNextUIFile; + const OString aComment("#"); + + while (aStream.ReadLine(aNextUIFile)) + { + if (!aNextUIFile.isEmpty() && !aNextUIFile.startsWith(aComment)) + { + // first check if it's a known dialog + std::unique_ptr<VclAbstractDialog> pDlg(createDialogByName(aNextUIFile)); + + if (pDlg) + { + // known dialog, dump screenshot to path + dumpDialogToPath(*pDlg); + } + else + { + // unknown dialog, try fallback to generic created + // VclBuilder-generated instance. Keep in mind that Dialogs + // using this mechanism will probably not be layouted well + // since the setup/initialization part is missing. Thus, + // only use for fallback when only the UI file is available. + dumpDialogToPath(aNextUIFile); + } + } + } +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |