# -*- 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/.
#
from uitest.framework
import UITestCase
from uitest.uihelper.common
import select_pos
from com.sun.star.awt.GradientStyle
import LINEAR
from com.sun.star.drawing.HatchStyle
import SINGLE
from com.sun.star.drawing.BitmapMode
import REPEAT
from com.sun.star.drawing.RectanglePoint
import MIDDLE_MIDDLE
class ImpressBackgrounds(UITestCase):
def checkDefaultBackground(self, btn):
document = self.ui_test.get_component()
if btn ==
'btnnone':
self.assertEqual(document.DrawPages[
0].Background,
None)
elif btn ==
'btncolor':
self.assertEqual(
hex(document.DrawPages[
0].Background.FillColor),
'0x729fcf')
self.assertEqual(
hex(document.DrawPages[
0].Background.FillColor),
'0x729fcf')
elif btn ==
'btngradient':
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.Style, LINEAR)
self.assertEqual(
hex(document.DrawPages[
0].Background.FillGradient.StartColor),
'0xdde8cb')
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.Angle,
300)
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.Border,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.XOffset,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.YOffset,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.StartIntensity,
100)
self.assertEqual(
document.DrawPages[
0].Background.FillGradient.EndIntensity,
100)
self.assertEqual(
document.DrawPages[
0].Background.FillGradientName,
'Pastel Bouquet')
elif btn ==
'btnhatch':
self.assertEqual(
document.DrawPages[
0].Background.FillHatch.Style, SINGLE )
self.assertEqual(
document.DrawPages[
0].Background.FillHatch.Color,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillHatch.Distance,
102)
self.assertEqual(
document.DrawPages[
0].Background.FillHatch.Angle,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillHatchName,
'Black 0 Degrees')
elif btn ==
'btnbitmap':
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapMode, REPEAT)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapPositionOffsetX,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapPositionOffsetY,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapRectanglePoint, MIDDLE_MIDDLE)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapStretch,
False)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapTile,
True)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapOffsetX,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapOffsetY,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapLogicalSize,
True)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapSizeX,
2540)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapSizeY,
2540)
self.assertEqual(document.DrawPages[
0].Background.FillBitmapName,
'Painted White')
elif btn ==
'btnpattern':
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapMode, REPEAT)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapPositionOffsetX,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapPositionOffsetY,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapRectanglePoint, MIDDLE_MIDDLE)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapStretch,
True)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapTile,
True)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapOffsetX,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapOffsetY,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapLogicalSize,
True)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapSizeX,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapSizeY,
0)
self.assertEqual(
document.DrawPages[
0].Background.FillBitmapName,
'5 Percent')
def test_background_dialog(self):
with self.ui_test.create_doc_in_start_center(
"impress"):
xTemplateDlg = self.xUITest.getTopFocusWindow()
xCancelBtn = xTemplateDlg.getChild(
"close")
self.ui_test.close_dialog_through_button(xCancelBtn)
buttons = [
'btnbitmap',
'btncolor',
'btngradient',
'btnhatch',
'btnpattern']
for index, button
in enumerate(buttons):
with self.ui_test.execute_dialog_through_command(
".uno:PageSetup")
as xPageSetupDlg
:
tabcontrol = xPageSetupDlg.getChild("tabcontrol")
select_pos(tabcontrol, "1")
xBtn = xPageSetupDlg.getChild(button)
xBtn.executeAction("CLICK", tuple())
# tdf#100024: Without the fix in place, this test would have crashed here
# changing the background to bitmap
self.checkDefaultBackground(button)
with self.ui_test.execute_dialog_through_command(".uno:PageSetup") as xPageSetupDlg:
tabcontrol = xPageSetupDlg.getChild("tabcontrol")
select_pos(tabcontrol, "1")
xBtn = xPageSetupDlg.getChild('btnnone')
xBtn.executeAction("CLICK", tuple())
self.checkDefaultBackground('btnnone')
# vim: set shiftwidth=4 softtabstop=4 expandtab: