Add compile-time checks for QLatin1String
Change-Id: If1b10a857275fb53c5d0b230bf6d11ce3e1ff2ca Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
parent
62c7145390
commit
e4aa4d4f3d
@ -44,6 +44,7 @@ class tst_QLatin1String : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void constExpr();
|
||||
void construction();
|
||||
void at();
|
||||
void arg() const;
|
||||
@ -55,6 +56,65 @@ private Q_SLOTS:
|
||||
void relationalOperators();
|
||||
};
|
||||
|
||||
void tst_QLatin1String::constExpr()
|
||||
{
|
||||
// compile-time checks
|
||||
{
|
||||
constexpr QLatin1String l1s;
|
||||
static_assert(l1s.size() == 0);
|
||||
static_assert(l1s.isNull());
|
||||
static_assert(l1s.empty());
|
||||
static_assert(l1s.isEmpty());
|
||||
static_assert(l1s.latin1() == nullptr);
|
||||
|
||||
constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size());
|
||||
static_assert(l1s2.isNull());
|
||||
static_assert(l1s2.empty());
|
||||
}
|
||||
{
|
||||
constexpr QLatin1String l1s = nullptr;
|
||||
static_assert(l1s.size() == 0);
|
||||
static_assert(l1s.isNull());
|
||||
static_assert(l1s.empty());
|
||||
static_assert(l1s.isEmpty());
|
||||
static_assert(l1s.latin1() == nullptr);
|
||||
}
|
||||
{
|
||||
constexpr QLatin1String l1s("");
|
||||
static_assert(l1s.size() == 0);
|
||||
static_assert(!l1s.isNull());
|
||||
static_assert(l1s.empty());
|
||||
static_assert(l1s.isEmpty());
|
||||
static_assert(l1s.latin1() != nullptr);
|
||||
|
||||
constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size());
|
||||
static_assert(!l1s2.isNull());
|
||||
static_assert(l1s2.empty());
|
||||
}
|
||||
{
|
||||
static_assert(QLatin1String("Hello").size() == 5);
|
||||
constexpr QLatin1String l1s("Hello");
|
||||
static_assert(l1s.size() == 5);
|
||||
static_assert(!l1s.empty());
|
||||
static_assert(!l1s.isEmpty());
|
||||
static_assert(!l1s.isNull());
|
||||
static_assert(*l1s.latin1() == 'H');
|
||||
static_assert(l1s[0] == QLatin1Char('H'));
|
||||
static_assert(l1s.at(0) == QLatin1Char('H'));
|
||||
static_assert(l1s.front() == QLatin1Char('H'));
|
||||
static_assert(l1s.first() == QLatin1Char('H'));
|
||||
static_assert(l1s[4] == QLatin1Char('o'));
|
||||
static_assert(l1s.at(4) == QLatin1Char('o'));
|
||||
static_assert(l1s.back() == QLatin1Char('o'));
|
||||
static_assert(l1s.last() == QLatin1Char('o'));
|
||||
|
||||
constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size());
|
||||
static_assert(!l1s2.isNull());
|
||||
static_assert(!l1s2.empty());
|
||||
static_assert(l1s2.size() == 5);
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QLatin1String::construction()
|
||||
{
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user