\a v1. See \l{QVariant::}{canConvert()} for a list of possible
conversions.
+ The result of the function is not affected by the result of QVariant::isNull,
+ which means that two values can be equal even if one of them is null and
+ another is not.
+
\warning This function doesn't support custom types registered
with qRegisterMetaType().
*/
/*!
- Returns true if this is a NULL variant, false otherwise.
+ Returns true if this is a null variant, false otherwise. A variant is
+ considered null if it contains a default constructed value or a built-in
+ type instance that has an isNull method, in which case the result
+ would be the same as calling isNull on the wrapped object.
+
+ \warning The result of the function doesn't affect == operator, which means
+ that two values can be equal even if one of them is null and another is not.
*/
bool QVariant::isNull() const
{
// Int
QTest::newRow( "int1int1" ) << i1 << i1 << true;
QTest::newRow( "int1int0" ) << i1 << i0 << false;
- QTest::newRow( "nullint" ) << i0 << QVariant(QVariant::Int) << false;
+ QTest::newRow( "nullint" ) << i0 << QVariant(QVariant::Int) << true;
// LongLong and ULongLong
QVariant ll1( (qlonglong)1 );
QFETCH( QVariant, left );
QFETCH( QVariant, right );
QFETCH( bool, equal );
- QEXPECT_FAIL("nullint", "See QTBUG-22933", Continue);
QCOMPARE( left == right, equal );
}