#include "xlsxconditionalformatting.h" #include "xlsxformat.h" #include "private/xlsxconditionalformatting_p.h" #include #include #include #include using namespace QXlsx; class ConditionalFormattingTest : public QObject { Q_OBJECT public: ConditionalFormattingTest(); private Q_SLOTS: void testHighlightRules(); void testHighlightRules_data(); void testDataBarRules(); }; ConditionalFormattingTest::ConditionalFormattingTest() { } void ConditionalFormattingTest::testHighlightRules_data() { QTest::addColumn("type"); QTest::addColumn("formula1"); QTest::addColumn("formula2"); QTest::addColumn("result"); QTest::newRow("lessThan")<<(int)ConditionalFormatting::Highlight_LessThan <<"100" <100"); QTest::newRow("between")<<(int)ConditionalFormatting::Highlight_Between <<"4" <<"20" <420"); QTest::newRow("containsText")<<(int)ConditionalFormatting::Highlight_ContainsText <<"Qt" <"); QTest::newRow("beginsWith")<<(int)ConditionalFormatting::Highlight_BeginsWith <<"Qt" <LEFT(C3,LEN"); //(\"Qt\"))=\"Qt\""); QTest::newRow("duplicateValues")<<(int)ConditionalFormatting::Highlight_Duplicate <"); } void ConditionalFormattingTest::testHighlightRules() { QFETCH(int, type); QFETCH(QString, formula1); QFETCH(QString, formula2); QFETCH(QByteArray, result); Format fmt; fmt.setFontBold(true); fmt.setDxfIndex(0); ConditionalFormatting cf; cf.addHighlightCellsRule((ConditionalFormatting::HighlightRuleType)type, formula1, formula2, fmt); cf.addRange("C3:C10"); QBuffer buffer; buffer.open(QIODevice::WriteOnly); QXmlStreamWriter writer(&buffer); cf.saveToXml(writer); qDebug()<" "" "" "" ""; QVERIFY(buffer.buffer().contains(res)); } QTEST_APPLESS_MAIN(ConditionalFormattingTest) #include "tst_conditionalformattingtest.moc"