summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2016-07-28 12:22:00 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-08-18 02:39:15 +0200
commit2a5ac6f6348acdfacc3a551b184369fe7dbfa0cd (patch)
tree9f8cecc8f42eed1650aa214735d38de349c29ee6 /test
parent51cd1024a689955beacb1a64f30931e2797f7f43 (diff)
screenshots: unify dumping of dialog test batch file
Change-Id: Ia1e79216d9537c65f8b7362778a2e1ad3ec6c2c2
Diffstat (limited to 'test')
-rw-r--r--test/source/screenshot_test.cxx53
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: */