Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/testlib/qtestcase.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the QtTest module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    125125        return 0;
    126126    }
     127
    127128
    128129    Q_TESTLIB_EXPORT char *toHexRepresentation(const char *ba, int length);
     
    178179                             toString<T>(t1), toString<T>(t2), actual, expected, file, line);
    179180    }
     181
    180182
    181183    template <>
     
    219221    bool qCompare(T1 const &, T2 const &, const char *, const char *, const char *, int);
    220222
    221 #if defined(QT_ARCH_WINDOWSCE) && defined(QT_COORD_TYPE)
     223#if defined(QT_COORD_TYPE) && (defined(QT_ARCH_ARM) || defined(QT_NO_FPU) || defined(QT_ARCH_WINDOWSCE))
    222224    template <>
    223225    inline bool qCompare<qreal, float>(qreal const &t1, float const &t2, const char *actual,
     
    234236    }
    235237
    236 #elif defined(QT_COORD_TYPE) || defined(QT_ARCH_ARM) || defined(QT_NO_FPU) || defined(QT_ARCH_WINDOWSCE)
     238#elif defined(QT_COORD_TYPE) || defined(QT_ARCH_ARM) || defined(QT_NO_FPU) || defined(QT_ARCH_WINDOWSCE) || defined(QT_ARCH_SYMBIAN)
    237239    template <>
    238240    inline bool qCompare<qreal, double>(qreal const &t1, double const &t2, const char *actual,
     
    290292    }
    291293#else  /* QTEST_NO_SPECIALIZATIONS */
     294
     295// In Symbian we have QTEST_NO_SPECIALIZATIONS defined, but still float related specialization
     296// should be used. If QTEST_NO_SPECIALIZATIONS is enabled we get ambiguous overload errors.
     297#if defined(QT_ARCH_SYMBIAN)
     298    template <typename T1, typename T2>
     299    bool qCompare(T1 const &, T2 const &, const char *, const char *, const char *, int);
     300
     301    template <>
     302    inline bool qCompare<qreal, double>(qreal const &t1, double const &t2, const char *actual,
     303                                 const char *expected, const char *file, int line)
     304    {
     305        return qCompare<float>(float(t1), float(t2), actual, expected, file, line);
     306    }
     307
     308    template <>
     309    inline bool qCompare<double, qreal>(double const &t1, qreal const &t2, const char *actual,
     310                                 const char *expected, const char *file, int line)
     311    {
     312        return qCompare<float>(float(t1), float(t2), actual, expected, file, line);
     313    }
     314#endif
     315
    292316    inline bool qCompare(const char *t1, const char *t2, const char *actual,
    293317                         const char *expected, const char *file, int line)
     
    323347    }
    324348
     349    // NokiaX86 and RVCT do not like implicitly comparing bool with int
     350#ifndef QTEST_NO_SPECIALIZATIONS
     351    template <>
     352#endif
     353    inline bool qCompare(bool const &t1, int const &t2,
     354                    const char *actual, const char *expected, const char *file, int line)
     355    {
     356        return qCompare<int>(int(t1), t2, actual, expected, file, line);
     357    }
     358
     359
    325360    template <class T>
    326361    inline bool qTest(const T& actual, const char *elementName, const char *actualStr,
Note: See TracChangeset for help on using the changeset viewer.