QLocale: add unittests for qstrtod of "NaN" and "nan"
The tests pass. Drive-by change: Amend qstrntod API docs, the addition is heavily inspired by cppreference's strtod docs. Change-Id: Ic8e138e117a3249c752ae5ef2a8a21feb010befa Task-number: QTBUG-74325 Pick-to: 6.5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
d079ca3429
commit
a67e7e3bb7
@ -552,7 +552,9 @@ QString qulltoa(qulonglong number, int base, const QStringView zero)
|
||||
/*!
|
||||
\internal
|
||||
|
||||
Converts the initial portion of the string pointed to by \a s00 to a double, using the 'C' locale.
|
||||
Converts the initial portion of the string pointed to by \a s00 to a double,
|
||||
using the 'C' locale. The function sets the pointer pointed to by \a se to
|
||||
point to the character past the last character converted.
|
||||
*/
|
||||
double qstrntod(const char *s00, qsizetype len, const char **se, bool *ok)
|
||||
{
|
||||
|
@ -1322,6 +1322,10 @@ void tst_QLocale::strtod_data()
|
||||
QTest::newRow("1e2000 cruft") << QString("1e2000 cruft") << qInf() << 6 << false;
|
||||
QTest::newRow("-1e2000 cruft") << QString("-1e2000 cruft") << -qInf() << 7 << false;
|
||||
|
||||
// NaN and nan
|
||||
QTest::newRow("NaN") << QString("NaN") << qQNaN() << 3 << true;
|
||||
QTest::newRow("nan") << QString("nan") << qQNaN() << 3 << true;
|
||||
|
||||
// Underflow, ends with cruft - fails but reports right length:
|
||||
QTest::newRow("1e-2000 cruft") << QString("1e-2000 cruft") << 0.0 << 7 << false;
|
||||
QTest::newRow("-1e-2000 cruft") << QString("-1e-2000 cruft") << 0.0 << 8 << false;
|
||||
|
Loading…
Reference in New Issue
Block a user