[Development] Using string literals in autotests

Axel Spoerl axel.spoerl at qt.io
Thu Mar 28 10:36:37 CET 2024


Hi,

is there any documentation, blog post, wiki page, other source or guideline about usage of string literals in autotests?

More specifically:

The line
QString ("I love QLatin1StringView");

...triggers 'QString' is deprecated: Use fromUtf8, QStringLiteral, or QLatin1StringView. QString has been explicitly marked deprecated here'

in qwindow.cpp, but not in tst_qwindow.cpp.

In gui autotests, only tst_QStandardItemModel uses the _L1 macro, in widgets only tst_QComboBox. "using namespace Qt::StringLiterals" can be found at the beginning of a test class, as well as at the beginning of a test function.
>From what I see, most test functions actually construct QString with a const char*. Some use QStringLiteral locally, others use QLatin1StringView.

Since _L1 usage is massive in corelib, I wonder whether there is a standard that everyone can apply when writing or reviewing autotests. If it exists and I have overlooked it, please forgive my negligence and point me to it.


  *
What is the recommended way to construct a string in autotests?
  *
Where to place "using namespace"?
  *
Shall string constructions be fixed as a drive-by?

IMHO, clarifying these questions generally helps and expedites code reviews.
See https://codereview.qt-project.org/c/qt/qtbase/+/551645<https://codereview.qt-project.org/c/qt/qtbase/+/551645?forceReload=true> as a recent example.

Thanks, kind regards and happy Easter
Axel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20240328/949d0bbb/attachment.htm>


More information about the Development mailing list