QIntegerForSize: add test

Make sure that the size of QIntegerForSize<N>::{Signed,Unsigned} is
actually N.

Change-Id: I221304f7c420e80758ef7b115bafb7cf1f8c8829
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
bb10
Marc Mutz 2013-11-05 22:14:35 +01:00 committed by The Qt Project
parent e7fd798af0
commit 569dec8e78
1 changed files with 15 additions and 0 deletions

View File

@ -59,6 +59,7 @@ private slots:
void qCoreAppStartupFunctionRestart();
void isEnum();
void qAlignOf();
void integerForSize();
};
void tst_QGlobal::qIsNull()
@ -566,5 +567,19 @@ void tst_QGlobal::qAlignOf()
#undef TEST_AlignOf_RValueRef
#undef TEST_AlignOf_impl
void tst_QGlobal::integerForSize()
{
// compile-only test:
Q_STATIC_ASSERT(sizeof(QIntegerForSize<1>::Signed) == 1);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<2>::Signed) == 2);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<4>::Signed) == 4);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<8>::Signed) == 8);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<1>::Unsigned) == 1);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<2>::Unsigned) == 2);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<4>::Unsigned) == 4);
Q_STATIC_ASSERT(sizeof(QIntegerForSize<8>::Unsigned) == 8);
}
QTEST_APPLESS_MAIN(tst_QGlobal)
#include "tst_qglobal.moc"