Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
8de63219
Kaydet (Commit)
8de63219
authored
Tem 22, 2016
tarafından
Armin Le Grand
Kaydeden (comit)
Thorsten Behrens
Agu 18, 2016
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
screenshots: add dialog test cases for formula
Change-Id: I2fb495dd8603b00127504240e4bec16726c2153f
üst
4e7396db
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
255 additions
and
0 deletions
+255
-0
CppunitTest_formula_dialogs_test.mk
formula/CppunitTest_formula_dialogs_test.mk
+61
-0
Module_formula.mk
formula/Module_formula.mk
+4
-0
formula-dialogs-test.txt
formula/qa/unit/data/formula-dialogs-test.txt
+40
-0
formula-dialogs-test.cxx
formula/qa/unit/formula-dialogs-test.cxx
+150
-0
No files found.
formula/CppunitTest_formula_dialogs_test.mk
0 → 100644
Dosyayı görüntüle @
8de63219
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#*************************************************************************
#
# 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/.
#
#*************************************************************************
$(eval $(call gb_CppunitTest_CppunitTest,formula_dialogs_test))
$(eval $(call gb_CppunitTest_add_exception_objects,formula_dialogs_test, \
formula/qa/unit/formula-dialogs-test \
))
$(eval $(call gb_CppunitTest_use_sdk_api,formula_dialogs_test))
$(eval $(call gb_CppunitTest_use_libraries,formula_dialogs_test, \
basegfx \
comphelper \
cppu \
cppuhelper \
drawinglayer \
editeng \
i18nlangtag \
i18nutil \
msfilter \
oox \
sal \
salhelper \
sax \
sfx \
sot \
svl \
svt \
test \
tl \
tk \
ucbhelper \
unotest \
utl \
vcl \
xo \
$(gb_UWINAPI) \
))
$(eval $(call gb_CppunitTest_use_external,formula_dialogs_test,boost_headers))
$(eval $(call gb_CppunitTest_use_sdk_api,formula_dialogs_test))
$(eval $(call gb_CppunitTest_use_ure,formula_dialogs_test))
$(eval $(call gb_CppunitTest_use_vcl_non_headless_with_windows,formula_dialogs_test))
$(eval $(call gb_CppunitTest_use_rdb,formula_dialogs_test,services))
# $(eval $(call gb_CppunitTest_use_configuration,formula_dialogs_test))
$(eval $(call gb_CppunitTest_use_instdir_configuration,formula_dialogs_test))
# vim: set noet sw=4 ts=4:
formula/Module_formula.mk
Dosyayı görüntüle @
8de63219
...
...
@@ -20,4 +20,8 @@ $(eval $(call gb_Module_add_l10n_targets,formula,\
UIConfig_formula \
))
$(eval $(call gb_Module_add_slowcheck_targets,formula,\
CppunitTest_formula_dialogs_test \
))
# vim: set noet sw=4 ts=4:
formula/qa/unit/data/formula-dialogs-test.txt
0 → 100644
Dosyayı görüntüle @
8de63219
# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
#
# This file contains all dialogs that the unit tests in the module
# will work on if it is in script mode. It will read one-by-one,
# try to open it and create a screenshot that will be saved in
# workdir/screenshots using the pattern of the ui-file name.
#
# Syntax:
# - emty lines are allowed
# - lines starting with '#' are treated as comment
# - all other lines should contain a *.ui filename in the same
# notation as in the dialog constructors (see code)
#
# The 'known' dialogs which have a hard-coded representation
# in registerKnownDialogsByID/createDialogByID
#
# No known dialogs in formula for now
#
# Dialogs without a hard-coded representation. These will
# be visualized using a fallback based on VclBuilder
#
# currently deactivated, leads to problems and the test to not work
# This is typically a hint that these should be hard-coded in the
# test case since they need some document and model data to work
formula/ui/functionpage.ui
formula/ui/parameter.ui
formula/ui/structpage.ui
formula/ui/formuladialog.ui
formula/qa/unit/formula-dialogs-test.cxx
0 → 100644
Dosyayı görüntüle @
8de63219
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
*/
#include <sal/config.h>
#include <test/screenshot_test.hxx>
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
#include <sfx2/app.hxx>
#include <vcl/abstdlg.hxx>
using
namespace
::
com
::
sun
::
star
;
/// Test opening a dialog in formula
class
FormulaDialogsTest
:
public
ScreenshotTest
{
private
:
/// helper method to populate KnownDialogs, called in setUp(). Needs to be
/// written and has to add entries to KnownDialogs
virtual
void
registerKnownDialogsByID
(
mapType
&
rKnownDialogs
)
override
;
/// dialog creation for known dialogs by ID. Has to be implemented for
/// each registered known dialog
virtual
VclAbstractDialog
*
createDialogByID
(
sal_uInt32
nID
)
override
;
public
:
FormulaDialogsTest
();
virtual
~
FormulaDialogsTest
();
virtual
void
setUp
()
override
;
// try to open a dialog
void
openAnyDialog
();
CPPUNIT_TEST_SUITE
(
FormulaDialogsTest
);
CPPUNIT_TEST
(
openAnyDialog
);
CPPUNIT_TEST_SUITE_END
();
};
FormulaDialogsTest
::
FormulaDialogsTest
()
{
}
FormulaDialogsTest
::~
FormulaDialogsTest
()
{
}
void
FormulaDialogsTest
::
setUp
()
{
ScreenshotTest
::
setUp
();
}
void
FormulaDialogsTest
::
registerKnownDialogsByID
(
mapType
&
/*rKnownDialogs*/
)
{
// fill map of known dilogs
}
VclAbstractDialog
*
FormulaDialogsTest
::
createDialogByID
(
sal_uInt32
/*nID*/
)
{
return
nullptr
;
}
void
FormulaDialogsTest
::
openAnyDialog
()
{
/// example how to process an input file containing the UXMLDescriptions of the dialogs
/// to dump
if
(
true
)
{
test
::
Directories
aDirectories
;
OUString
aURL
=
aDirectories
.
getURLFromSrc
(
"formula/qa/unit/data/formula-dialogs-test.txt"
);
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
);
}
}
}
}
/// example how to dump all known dialogs
if
(
false
)
{
// example for SfxTabDialog: 5 -> "modules/sdraw/ui/drawpagedialog.ui"
// example for TabDialog: 22 -> "modules/simpress/ui/headerfooterdialog.ui"
// example for self-adapted wizard: 0 -> "modules/simpress/ui/publishingdialog.ui"
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
}
}
}
/// example how to dump a dialog using fallback functionality
if
(
false
)
{
// 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.
//
// Take any example here, it's only for demonstration - using
// even a known one to demonstrate the fallback possibility
const
OString
aUIXMLDescription
(
"formula/ui/functionpage.ui"
);
dumpDialogToPath
(
aUIXMLDescription
);
}
}
CPPUNIT_TEST_SUITE_REGISTRATION
(
FormulaDialogsTest
);
CPPUNIT_PLUGIN_IMPLEMENT
();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment