sw/PythonTest_sw_python.mk | 1 sw/qa/python/check_xcloseable.py | 88 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+)
New commits: commit 7878a30e0977f23f49a89031631a92528fdde8c5 Author: Serge Krot <serge.k...@cib.de> AuthorDate: Fri Sep 28 16:02:34 2018 +0200 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Thu Nov 22 15:27:47 2018 +0100 sw: new unit test for XCloseable Change-Id: I1c89abffcc985d6f5b2e0f570fcb82601d923b5e Reviewed-on: https://gerrit.libreoffice.org/61091 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sw/PythonTest_sw_python.mk b/sw/PythonTest_sw_python.mk index b7c66bba7bfe..836c6e06378a 100644 --- a/sw/PythonTest_sw_python.mk +++ b/sw/PythonTest_sw_python.mk @@ -19,6 +19,7 @@ $(eval $(call gb_PythonTest_add_modules,sw_python,$(SRCDIR)/sw/qa/python,\ check_index \ check_flies \ check_fields \ + check_xcloseable \ check_cross_references \ check_named_property_values \ check_indexed_property_values \ diff --git a/sw/qa/python/check_xcloseable.py b/sw/qa/python/check_xcloseable.py new file mode 100644 index 000000000000..172b852dcd00 --- /dev/null +++ b/sw/qa/python/check_xcloseable.py @@ -0,0 +1,88 @@ +#! /usr/bin/env python +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +import unittest +import unohelper +from org.libreoffice.unotest import UnoInProcess +from com.sun.star.util import XCloseListener + + +listenerCallsOwner = 0 +listenerCallsNoOwner = 0 + + +class XCloseListenerExtended(unohelper.Base, XCloseListener): + @classmethod + def queryClosing(self, Source, GetsOwnership): + if GetsOwnership is True: + global listenerCallsOwner + listenerCallsOwner += 1 + else: + global listenerCallsNoOwner + listenerCallsNoOwner += 1 + + @classmethod + def notifyClosing(self, Source): + pass + + @classmethod + def disposing(self, Event): + pass + + +class XCloseable(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls._uno = UnoInProcess() + cls._uno.setUp() + + @classmethod + def tearDownClass(cls): + cls._uno.tearDown() + + def test_closeTrue(self): + # prepare + global listenerCallsOwner + global listenerCallsNoOwner + listenerCallsOwner = 0 + listenerCallsNoOwner = 0 + + # run + xDoc = self._uno.openEmptyWriterDoc() + xListener = XCloseListenerExtended() + xDoc.addCloseListener(xListener) + xDoc.close(True) + + # verify results + self.assertEqual(1, listenerCallsOwner) + self.assertEqual(0, listenerCallsNoOwner) + + def test_closeFalse(self): + # prepare + global listenerCallsOwner + global listenerCallsNoOwner + listenerCallsOwner = 0 + listenerCallsNoOwner = 0 + + # run + xDoc = self._uno.openEmptyWriterDoc() + xListener = XCloseListenerExtended() + xDoc.addCloseListener(xListener) + xDoc.close(False) + + # verify results + self.assertEqual(0, listenerCallsOwner) + self.assertEqual(1, listenerCallsNoOwner) + + +if __name__ == '__main__': + unittest.main() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits