/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of Qt for Python. ** ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "sphinxtabletest.h" #include "qtdocgenerator.h" #include #include QString SphinxTableTest::transformXml(const char* xml) { return QtXmlToSphinx(m_generator, xml).result(); } void SphinxTableTest::setUp() { m_generator = new QtDocGenerator; } void SphinxTableTest::tearDown() { delete m_generator; } void SphinxTableTest::testEmptyString() { const char* xml = ""; QCOMPARE(transformXml(xml), QString()); } void SphinxTableTest::testSimpleTable() { const char* xml = "\ \
\ \ Header 1\ \ \ Header 2\ \
\ \ \ 1 1\ \ \ 1 2\ \ \ \ \ 2 1\ \ \ 2 2\ \ \
"; QCOMPARE(transformXml(xml), QString("\ +--------+--------+\n\ |Header 1|Header 2|\n\ +--------+--------+\n\ |1 1 |1 2 |\n\ +--------+--------+\n\ |2 1 |2 2 |\n\ +--------+--------+\n\ \n")); } void SphinxTableTest::testColSpan() { const char* xml = "\ \
\ \ Header 1\ \ \ Header 2\ \
\ \ \ I'm a big text!\ \ \ \ \ 2 1\ \ \ 2 2\ \ \
"; QCOMPARE(transformXml(xml), QString("\ +---------------+--------+\n\ |Header 1 |Header 2|\n\ +---------------+--------+\n\ |I'm a big text! |\n\ +---------------+--------+\n\ |2 1 |2 2 |\n\ +---------------+--------+\n\ \n")); } void SphinxTableTest::testRowSpan() { const char* xml = "\ \
\ \ Header 1\ \ \ Header 2\ \
\ \ \ 1.1\ \ \ 1.2\ \ \ \ \ 2 2\ \ \
"; QCOMPARE(transformXml(xml), QString("\ +--------+--------+\n\ |Header 1|Header 2|\n\ +--------+--------+\n\ |1.1 |1.2 |\n\ + +--------+\n\ | |2 2 |\n\ +--------+--------+\n\ \n")); } void SphinxTableTest::testComplexTable() { const char* xml = "\ \
\ \ Header 1\ \ \ Header 2\ \ \ Header 3\ \
\ \ \ 1.1\ \ \ 1.2\ \ \ \ \ 2 2\ \ \ 2 3\ \ \
"; QCOMPARE(transformXml(xml), QString("\ +--------+--------+--------+\n\ |Header 1|Header 2|Header 3|\n\ +--------+--------+--------+\n\ |1.1 |1.2 |\n\ + +--------+--------+\n\ | |2 2 |2 3 |\n\ +--------+--------+--------+\n\ \n")); } void SphinxTableTest::testRowSpan2() { const char* xml = "\ \
\ h1\ h2\ h3\ h4\
\ \ A\ B\ C\ D\ \ \ E\ F\ \ \ E\ F\ \ \ E\ F\ \ \ E\ F\ \ \ E\ F\ \
"; QCOMPARE(transformXml(xml), QString("\ +--+--+--+--+\n\ |h1|h2|h3|h4|\n\ +--+--+--+--+\n\ |A |B |C |D |\n\ + + +--+--+\n\ | | |E |F |\n\ + + +--+--+\n\ | | |E |F |\n\ + + +--+--+\n\ | | |E |F |\n\ + + +--+--+\n\ | | |E |F |\n\ + + +--+--+\n\ | | |E |F |\n\ +--+--+--+--+\n\ \n")); } void SphinxTableTest::testBrokenTable() { const char* xml = "\ \
\ \ Header 1\ \ \ Header 2\ \
\ \ \ 1.1\ \ \ 1.2\ \ \ \ \ 2 2\ \ \ 2 3\ \ \ 2 4\ \ \ 2 5\ \ \ \ \ 3 1\ \ \ 3 2\ \ \ 3 3\ \ \
"; QCOMPARE(transformXml(xml), QString("\ +--------+------------+\n\ |Header 1|Header 2 |\n\ +--------+------------+\n\ |1.1 |1.2 |\n\ +--------+------------+\n\ |2 2 2 3 2 4 2 5|\n\ +--------+------------+\n\ |3 1 |3 2 3 3 |\n\ +--------+------------+\n\ \n")); } QTEST_APPLESS_MAIN( SphinxTableTest ) #include "sphinxtabletest.moc"