[Libreoffice-commits] core.git: include/sfx2 offapi/com sfx2/source sw/qa
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 29 10:06:15 UTC 2020
include/sfx2/sfxbasecontroller.hxx | 1
offapi/com/sun/star/frame/XInfobarProvider.idl | 9 ++++++
sfx2/source/view/sfxbasecontroller.cxx | 7 +++++
sw/qa/uitest/classification/classification.py | 34 +++++++++++++++++--------
4 files changed, 41 insertions(+), 10 deletions(-)
New commits:
commit 1f4a2b698cb5bb987cad5bc2a5503e23dd8a7b9c
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Tue Apr 21 15:04:19 2020 +0200
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Wed Apr 29 12:05:40 2020 +0200
[API CHANGE] uitest: make HasInfoBarWithID accessible from API
This is useful for checking in uitests whether the infobar exists
Change-Id: I436c2659abd40756673634f7cd1f8e4846c03836
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92635
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/include/sfx2/sfxbasecontroller.hxx b/include/sfx2/sfxbasecontroller.hxx
index 33a14090e3e7..7fd536a14ef7 100644
--- a/include/sfx2/sfxbasecontroller.hxx
+++ b/include/sfx2/sfxbasecontroller.hxx
@@ -186,6 +186,7 @@ public:
const OUString& sSecondaryMessage,
sal_Int32 aInfobarType) override;
virtual void SAL_CALL removeInfobar(const OUString& sId) override;
+ virtual sal_Bool SAL_CALL hasInfobar(const OUString& sId) override;
// FIXME: TL needs this in sw/source/ui/uno/unotxdoc.cxx now;
// either the _Impl name should vanish or there should be an "official" API
diff --git a/offapi/com/sun/star/frame/XInfobarProvider.idl b/offapi/com/sun/star/frame/XInfobarProvider.idl
index 1fbaa4657188..889be2aa4bcd 100644
--- a/offapi/com/sun/star/frame/XInfobarProvider.idl
+++ b/offapi/com/sun/star/frame/XInfobarProvider.idl
@@ -94,6 +94,15 @@ interface XInfobarProvider: uno::XInterface
If no such Infobar exists (it might have been closed by the user already)
*/
void removeInfobar([in] string id) raises(com::sun::star::container::NoSuchElementException);
+
+ /** Check if Infobar exists.
+
+ @param id
+ The ID which was used when creating this Infobar.
+
+ @since LibreOffice 7.0
+ */
+ boolean hasInfobar([in] string id);
};
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx
index 1ad856065b8e..9baebe0be2ff 100644
--- a/sfx2/source/view/sfxbasecontroller.cxx
+++ b/sfx2/source/view/sfxbasecontroller.cxx
@@ -1535,4 +1535,11 @@ void SAL_CALL SfxBaseController::removeInfobar(const OUString& sId)
pViewFrame->RemoveInfoBar(sId);
}
+sal_Bool SAL_CALL SfxBaseController::hasInfobar(const OUString& sId)
+{
+ SolarMutexGuard aGuard;
+ SfxViewFrame* pViewFrame = m_pData->m_pViewShell->GetFrame();
+ return pViewFrame->HasInfoBarWithID(sId);
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/uitest/classification/classification.py b/sw/qa/uitest/classification/classification.py
index 373d4b5ad012..e7fde9d70ec7 100644
--- a/sw/qa/uitest/classification/classification.py
+++ b/sw/qa/uitest/classification/classification.py
@@ -10,14 +10,13 @@ from uitest.uihelper.common import select_pos
from uitest.uihelper.calc import enter_text_to_cell
from libreoffice.calc.document import get_cell_by_position
from libreoffice.uno.propertyvalue import mkPropertyValues
-from uitest.uihelper.common import get_state_as_dict, type_text
+from uitest.uihelper.common import get_state_as_dict
from uitest.debug import sleep
-# import org.libreoffice.unotest
-# import pathlib
-from uitest.path import get_srcdir_url
+import org.libreoffice.unotest
+import pathlib
+
def get_url_for_data_file(file_name):
-# return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri()
- return get_srcdir_url() + "/sw/qa/uitest/writer_tests/data/" + file_name
+ return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri()
#TSCP: add advanced classification dialog https://cgit.freedesktop.org/libreoffice/core/commit/?id=71ee09947d5a71105d64fd225bb3672dfa7ce834
# This adds an advanced classification dialog, which enables the user
@@ -69,6 +68,13 @@ class classification(UITestCase):
# self.assertEqual(get_state_as_dict(classificationEditWindow)["Text"], "Conf")
xOKBtn = xDialog.getChild("ok")
self.ui_test.close_dialog_through_button(xOKBtn)
+
+ header = document.StyleFamilies.PageStyles.Standard.HeaderText.createEnumeration().nextElement()
+ self.assertEqual(header.String, "Confidential")
+
+ controller = self.ui_test.get_component().getCurrentController()
+ self.assertTrue(controller.hasInfobar("classification"))
+
#verify watermark
#Bug 122586 - Classification: by using the dialog, Watermark text from policy is not placed in the document
self.ui_test.execute_dialog_through_command(".uno:Watermark")
@@ -103,13 +109,15 @@ class classification(UITestCase):
#verify International is set too
self.assertEqual(get_state_as_dict(internationalClassificationCB)["SelectEntryText"], "Confidential")
#verify textBox Content TODO textbox not supported
-# self.assertEqual(get_state_as_dict(classificationEditWindow)["Text"], "Conf")
+ #self.assertEqual(get_state_as_dict(classificationEditWindow)["Text"], "Conf")
# print(get_state_as_dict(classificationEditWindow))
xOKBtn = xDialog.getChild("ok")
self.ui_test.close_dialog_through_button(xOKBtn)
- # verify the text on characters 0-6 : "(Conf)"
+
self.assertEqual(document.Text.String[0:6], "(Conf)")
+ self.assertEqual(header.String, "Confidential")
+ self.assertTrue(controller.hasInfobar("classification"))
self.ui_test.close_doc()
@@ -138,8 +146,11 @@ class classification(UITestCase):
xOKBtn = xDialog.getChild("ok")
self.ui_test.close_dialog_through_button(xOKBtn)
- # verify the text on characters 0-6 : "(Conf)"
+
+ controller = self.ui_test.get_component().getCurrentController()
self.assertEqual(document.Text.String[0:6], "(Conf)")
+ self.assertFalse(controller.hasInfobar("classification"))
+ self.assertFalse(document.StyleFamilies.PageStyles.Standard.HeaderIsOn)
self.ui_test.close_doc()
@@ -169,8 +180,11 @@ class classification(UITestCase):
xOKBtn = xDialog.getChild("ok")
self.ui_test.close_dialog_through_button(xOKBtn)
- # verify the text on characters 0-6 : "(AAIO)"
+
+ controller = self.ui_test.get_component().getCurrentController()
self.assertEqual(document.Text.String[0:6], "(AAIO)")
+ self.assertFalse(controller.hasInfobar("classification"))
+ self.assertFalse(document.StyleFamilies.PageStyles.Standard.HeaderIsOn)
self.ui_test.close_doc()
# vim: set shiftwidth=4 softtabstop=4 expandtab:
More information about the Libreoffice-commits
mailing list