Fix accessibility character rect tests
textEditTest in qaccessibility test was using QTextEdit::setCurrentFont on second pass, but that did not change the font used for text in any way. I don't know what was the purpose. So I changed it into something that made sense to me and actually tests text with a different font on second pass. Also fixed characterRect function in tests to use correct font/format. Change-Id: I843c5b29f8048196ec3405b6717655e77b567dbb Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>bb10
parent
898ca6ff76
commit
551f39bac5
|
|
@ -1716,7 +1716,10 @@ static QRect characterRect(const QTextEdit &edit, int offset)
|
||||||
QPointF layoutPosition = layout->position();
|
QPointF layoutPosition = layout->position();
|
||||||
int relativeOffset = offset - block.position();
|
int relativeOffset = offset - block.position();
|
||||||
QTextLine line = layout->lineForTextPosition(relativeOffset);
|
QTextLine line = layout->lineForTextPosition(relativeOffset);
|
||||||
QFontMetrics fm(edit.currentFont());
|
QTextBlock::iterator it = block.begin();
|
||||||
|
while (!it.fragment().contains(offset))
|
||||||
|
++it;
|
||||||
|
QFontMetrics fm(it.fragment().charFormat().font());
|
||||||
QChar ch = edit.document()->characterAt(offset);
|
QChar ch = edit.document()->characterAt(offset);
|
||||||
int w = fm.width(ch);
|
int w = fm.width(ch);
|
||||||
int h = fm.height();
|
int h = fm.height();
|
||||||
|
|
@ -1759,7 +1762,7 @@ void tst_QAccessibility::textEditTest()
|
||||||
QFont font("Helvetica");
|
QFont font("Helvetica");
|
||||||
font.setPointSizeF(12.5);
|
font.setPointSizeF(12.5);
|
||||||
font.setWordSpacing(1.1);
|
font.setWordSpacing(1.1);
|
||||||
edit.setCurrentFont(font);
|
edit.document()->setDefaultFont(font);
|
||||||
}
|
}
|
||||||
|
|
||||||
edit.show();
|
edit.show();
|
||||||
|
|
@ -1781,7 +1784,7 @@ void tst_QAccessibility::textEditTest()
|
||||||
QCOMPARE(startOffset, 13);
|
QCOMPARE(startOffset, 13);
|
||||||
QCOMPARE(endOffset, 31);
|
QCOMPARE(endOffset, 31);
|
||||||
QCOMPARE(textIface->characterCount(), 48);
|
QCOMPARE(textIface->characterCount(), 48);
|
||||||
QFontMetrics fm(edit.currentFont());
|
QFontMetrics fm(edit.document()->defaultFont());
|
||||||
QCOMPARE(textIface->characterRect(0).size(), QSize(fm.width("h"), fm.height()));
|
QCOMPARE(textIface->characterRect(0).size(), QSize(fm.width("h"), fm.height()));
|
||||||
QCOMPARE(textIface->characterRect(5).size(), QSize(fm.width(" "), fm.height()));
|
QCOMPARE(textIface->characterRect(5).size(), QSize(fm.width(" "), fm.height()));
|
||||||
QCOMPARE(textIface->characterRect(6).size(), QSize(fm.width("w"), fm.height()));
|
QCOMPARE(textIface->characterRect(6).size(), QSize(fm.width("w"), fm.height()));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue