Accessibility: Password QLineEdit should use * as text replacement

Change-Id: Ie07e86f1b6dff3096cab462f918994efa07b2a87
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
bb10
Frederik Gladhorn 2014-06-27 15:05:16 +02:00
parent 4b28152da6
commit 2e038d681c
2 changed files with 5 additions and 3 deletions

View File

@ -626,6 +626,8 @@ QString QAccessibleLineEdit::text(QAccessible::Text t) const
case QAccessible::Value:
if (lineEdit()->echoMode() == QLineEdit::Normal)
str = lineEdit()->text();
else if (lineEdit()->echoMode() != QLineEdit::NoEcho)
str = QString(lineEdit()->text().length(), QChar::fromLatin1('*'));
break;
default:
break;

View File

@ -2012,13 +2012,13 @@ void tst_QAccessibility::lineEditTest()
QCOMPARE(iface->text(QAccessible::Value), secret);
le->setEchoMode(QLineEdit::NoEcho);
QVERIFY(iface->state().passwordEdit);
QVERIFY(iface->text(QAccessible::Value).isEmpty());
QCOMPARE(iface->text(QAccessible::Value), QString());
le->setEchoMode(QLineEdit::Password);
QVERIFY(iface->state().passwordEdit);
QVERIFY(iface->text(QAccessible::Value).isEmpty());
QCOMPARE(iface->text(QAccessible::Value), QString(secret.length(), QLatin1Char('*')));
le->setEchoMode(QLineEdit::PasswordEchoOnEdit);
QVERIFY(iface->state().passwordEdit);
QVERIFY(iface->text(QAccessible::Value).isEmpty());
QCOMPARE(iface->text(QAccessible::Value), QString(secret.length(), QLatin1Char('*')));
le->setEchoMode(QLineEdit::Normal);
QVERIFY(!(iface->state().passwordEdit));
QCOMPARE(iface->text(QAccessible::Value), secret);