[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kword/part/frames/tests
From: Thomas Zander <zander () kde ! org>
Date: 2008-12-24 1:02:24
Message-ID: 1230080544.254268.4700.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 900924 by zander:
Add a unit test for the creation of auto-frames on pages based on page styles.
M +121 -0 TestBasicLayout.cpp
M +2 -0 TestBasicLayout.h
--- trunk/koffice/kword/part/frames/tests/TestBasicLayout.cpp #900923:900924
@@ -243,6 +243,127 @@
QVERIFY(frameSets.evenFooters == 0);
}
+void TestBasicLayout::testCreateNewFrameForPage_data()
+{
+ // tests void KWFrameLayout::createNewFrameForPage(KWTextFrameSet *fs, int \
pageNumber) + QTest::addColumn<QStringList>("pages");
+ QTest::addColumn<int>("frameSetType");
+ QTest::addColumn<int>("pageNumber");
+ QTest::addColumn<int>("expectedFrameCount");
+
+ QTest::newRow("noFooter1") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::OddPagesFooterTextFrameSet << 1 << 0;
+ QTest::newRow("noFooter2") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::EvenPagesFooterTextFrameSet << 1 << 0;
+ QTest::newRow("noFooter3") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::EvenPagesFooterTextFrameSet << 2 << 0;
+
+ QTest::newRow("noHeader1") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::OddPagesHeaderTextFrameSet << 1 << 0;
+ QTest::newRow("noHeader2") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::OddPagesHeaderTextFrameSet << 2 << 0;
+ QTest::newRow("noHeader3") << (QStringList() << QString("style1") << \
QString("style2")) << + (int) KWord::EvenPagesHeaderTextFrameSet << 1 << 0;
+
+ QTest::newRow("oddHeader1") << (QStringList() << QString("style2") << \
QString("style2")) << + (int) KWord::OddPagesHeaderTextFrameSet << 1 << 1;
+ QTest::newRow("oddHeader2") << (QStringList() << QString("style2") << \
QString("style2")) << + (int) KWord::OddPagesHeaderTextFrameSet << 2 << 0;
+ QTest::newRow("evenHeader1") << (QStringList() << QString("style2") << \
QString("style2")) << + (int) KWord::EvenPagesHeaderTextFrameSet << 1 << 0;
+ QTest::newRow("evenHeader2") << (QStringList() << QString("style2") << \
QString("style2")) << + (int) KWord::EvenPagesHeaderTextFrameSet << 2 << 1;
+
+ QTest::newRow("main1") << (QStringList() << QString("style1") << \
QString("style3") << QString("style4")) << + (int) KWord::MainTextFrameSet << \
1 << 1; + QTest::newRow("main2") << (QStringList() << QString("style1") << \
QString("style3") << QString("style4")) << + (int) KWord::MainTextFrameSet << \
2 << 0; + QTest::newRow("main3") << (QStringList() << QString("style1") << \
QString("style3") << QString("style4")) << + (int) KWord::MainTextFrameSet << \
3 << 2; + QTest::newRow("main4") << (QStringList() << QString("style5")) <<
+ (int) KWord::MainTextFrameSet << 1 << 0;
+
+ QTest::newRow("footer1") << (QStringList() << QString("style3") << \
QString("style5") << QString("style2")) << + (int) \
KWord::EvenPagesFooterTextFrameSet << 1 << 0; // uniform goes to the odd + \
QTest::newRow("footer2") << (QStringList() << QString("style3") << QString("style5") \
<< QString("style2")) << + (int) KWord::EvenPagesFooterTextFrameSet << 2 << 0;
+ QTest::newRow("footer3") << (QStringList() << QString("style3") << \
QString("style5") << QString("style2")) << + (int) \
KWord::EvenPagesFooterTextFrameSet << 3 << 0; // uniform goes to the odd +
+ QTest::newRow("footer4") << (QStringList() << QString("style3") << \
QString("style5") << QString("style2")) << + (int) \
KWord::OddPagesFooterTextFrameSet << 1 << 1; + QTest::newRow("footer5") << \
(QStringList() << QString("style3") << QString("style5") << QString("style2")) << + \
(int) KWord::OddPagesFooterTextFrameSet << 2 << 0; + QTest::newRow("footer6") << \
(QStringList() << QString("style3") << QString("style5") << QString("style2")) << + \
(int) KWord::OddPagesFooterTextFrameSet << 3 << 1; +}
+
+void TestBasicLayout::testCreateNewFrameForPage()
+{
+ QFETCH(QStringList, pages);
+ QFETCH(int, frameSetType);
+ QFETCH(int, pageNumber);
+ QFETCH(int, expectedFrameCount);
+
+ QHash<QString, KWPageStyle> styles;
+ KWPageStyle style1("style1");
+ style1.setHeaderPolicy(KWord::HFTypeNone);
+ style1.setMainTextFrame(true);
+ style1.setFooterPolicy(KWord::HFTypeNone);
+ styles.insert(style1.name(), style1);
+
+ KWPageStyle style2("style2");
+ style2.setHeaderPolicy(KWord::HFTypeEvenOdd);
+ style2.setMainTextFrame(true);
+ style2.setFooterPolicy(KWord::HFTypeUniform);
+ styles.insert(style2.name(), style2);
+
+ KWPageStyle style3("style3"); // weird
+ style3.setHeaderPolicy(KWord::HFTypeEvenOdd);
+ style3.setMainTextFrame(false);
+ style3.setFooterPolicy(KWord::HFTypeUniform);
+ styles.insert(style3.name(), style3);
+
+ KWPageStyle style4("style4");
+ style4.setHeaderPolicy(KWord::HFTypeUniform);
+ style4.setMainTextFrame(true);
+ style4.setFooterPolicy(KWord::HFTypeEvenOdd);
+ KoColumns columns;
+ columns.columns = 2;
+ columns.columnSpacing = 4;
+ style4.setColumns(columns);
+ styles.insert(style4.name(), style4);
+
+ KWPageStyle style5("style5"); // blank
+ style5.setHeaderPolicy(KWord::HFTypeNone);
+ style5.setMainTextFrame(false);
+ style5.setFooterPolicy(KWord::HFTypeNone);
+ style5.setColumns(columns);
+ styles.insert(style5.name(), style5);
+
+ KWPageManager manager;
+ foreach (const QString &styleName, pages) {
+ QVERIFY(styles.contains(styleName));
+ manager.appendPage(styles[styleName]);
+ }
+
+ m_frames.clear();
+ KWTextFrameSet tfs(0, (KWord::TextFrameSetType) frameSetType);
+ m_frames << &tfs;
+ KWFrameLayout frameLayout(&manager, m_frames);
+ connect(&frameLayout, SIGNAL(newFrameSet(KWFrameSet*)), this, \
SLOT(addFS(KWFrameSet*))); +
+ KWPage page = manager.page(pageNumber);
+ QVERIFY(page.isValid());
+ tfs.setPageStyle(page.pageStyle());
+
+ frameLayout.createNewFramesForPage(pageNumber);
+ QCOMPARE(tfs.frameCount(), expectedFrameCount);
+ foreach(KWFrame *frame, tfs.frames()) {
+ QVERIFY (page.rect().contains(frame->shape()->position()));
+ }
+}
+
// helper method (slot)
void TestBasicLayout::addFS(KWFrameSet*fs)
{
--- trunk/koffice/kword/part/frames/tests/TestBasicLayout.h #900923:900924
@@ -21,6 +21,8 @@
void testShouldHaveHeaderOrFooter();
void headerPerPage();
void testFrameCreation();
+ void testCreateNewFrameForPage_data();
+ void testCreateNewFrameForPage();
// helper
void addFS(KWFrameSet*);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic