Improve Document::read() support for shared formula
This commit is contained in:
@@ -165,6 +165,15 @@ void UtilityTest::test_convertSharedFormula_data()
|
||||
|
||||
QTest::newRow("[C4]") << QString("A1*B8")<<QString("C1")<<QString("C4")<<QString("A4*B11");
|
||||
QTest::newRow("[C4]") << QString("TAN(A1+B2*B3)+COS(A1-B2)")<<QString("C1")<<QString("C4")<<QString("TAN(A4+B5*B6)+COS(A4-B5)");
|
||||
|
||||
QTest::newRow("[Mixed B2]") << QString("$A1*A$1")<<QString("B1")<<QString("B2")<<QString("$A2*A$1");
|
||||
QTest::newRow("[Mixed C1]") << QString("$A1*A$1")<<QString("B1")<<QString("C1")<<QString("$A1*B$1");
|
||||
QTest::newRow("[Mixed D9]") << QString("$A1*A$1")<<QString("B1")<<QString("D9")<<QString("$A9*C$1");
|
||||
QTest::newRow("[Mixed C4]") << QString("TAN(A1+B2*$B3)+COS(A1-B$2)")<<QString("C1")<<QString("C4")<<QString("TAN(A4+B5*$B6)+COS(A4-B$2)");
|
||||
|
||||
QTest::newRow("[Absolute C4]") << QString("A1*$B$8")<<QString("C1")<<QString("C4")<<QString("A4*$B$8");
|
||||
|
||||
QTest::newRow("[Quote]") << QString("=CONCATENATE(\"The B1 $B1 \",B1,\" units\")")<<QString("C1")<<QString("D2")<<QString("=CONCATENATE(\"The B1 $B1 \",C2,\" units\")");
|
||||
}
|
||||
|
||||
void UtilityTest::test_convertSharedFormula()
|
||||
|
||||
@@ -90,7 +90,6 @@ void WorksheetTest::testSetColumn()
|
||||
|
||||
QByteArray xmldata = sheet.saveToXmlData();
|
||||
|
||||
qDebug()<<xmldata;
|
||||
QVERIFY(xmldata.contains("<col min=\"1\" max=\"3\"")); //"A:C"
|
||||
QVERIFY(xmldata.contains("<col min=\"4\" max=\"5\"")); //"D:E"
|
||||
QVERIFY(xmldata.contains("<col min=\"6\" max=\"6\"")); //"F:F"
|
||||
@@ -110,13 +109,14 @@ void WorksheetTest::testWriteCells()
|
||||
sheet.writeFormula(5, 2, "44+33", QXlsx::Format(), 77);
|
||||
|
||||
QByteArray xmldata = sheet.saveToXmlData();
|
||||
qDebug()<<xmldata;
|
||||
|
||||
QVERIFY2(xmldata.contains("<c r=\"A1\"><v>123</v></c>"), "numeric");
|
||||
QVERIFY2(xmldata.contains("<c r=\"A2\" t=\"s\"><v>0</v></c>"), "string");
|
||||
QVERIFY2(xmldata.contains("<c r=\"A3\" t=\"inlineStr\"><is><t>Hello inline</t></is></c>"), "inline string");
|
||||
QVERIFY2(xmldata.contains("<c r=\"A4\" t=\"b\"><v>1</v></c>"), "boolean");
|
||||
QVERIFY2(xmldata.contains("<c r=\"A5\"><f>44+33</f><v>0</v></c>"), "formula");
|
||||
QVERIFY2(xmldata.contains("<c r=\"B5\"><f>44+33</f><v>77</v></c>"), "formula");
|
||||
QVERIFY2(xmldata.contains("<c r=\"A5\"><f ca=\"1\">44+33</f><v>0</v></c>"), "formula");
|
||||
QVERIFY2(xmldata.contains("<c r=\"B5\"><f ca=\"1\">44+33</f><v>77</v></c>"), "formula");
|
||||
|
||||
QCOMPARE(sheet.d_func()->sharedStrings()->getSharedString(0).toPlainString(), QStringLiteral("Hello"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user