[ktexteditor] /: KTE::Cursor & Range: add QTest::toString() specializations
Dominik Haumann
dhaumann at kde.org
Sat Mar 22 10:09:47 UTC 2014
On Saturday 22 March 2014 10:02:33 Dominik Haumann wrote:
> Git commit db9cfee22b89ac0aadde50af1e92d84b7ed4ac52 by Dominik Haumann.
> Committed on 22/03/2014 at 09:58.
> Pushed by dhaumann into branch 'master'.
>
> KTE::Cursor & Range: add QTest::toString() specializations
>
> [...]
>
> M +12 -0 src/include/ktexteditor/cursor.h
> M +12 -1 src/include/ktexteditor/range.h
> M +21 -0 src/utils/range.cpp
>
> http://commits.kde.org/ktexteditor/db9cfee22b89ac0aadde50af1e92d84b7ed4ac52
@KDevelop: With this patch, you can remove all template QTest::toString()
specializations for KTextEditor::Cursor and KTextEditor::Range in KDevelop.
Just grep for "toString(const KTextEditor::" and you should find all occurances.
Greetings,
Dominik
> diff --git a/src/include/ktexteditor/cursor.h
> b/src/include/ktexteditor/cursor.h index eb8b826..f04c84e 100644
> --- a/src/include/ktexteditor/cursor.h
> +++ b/src/include/ktexteditor/cursor.h
> @@ -340,5 +340,17 @@ inline uint qHash(const KTextEditor::Cursor& cursor)
> return cursor.line() * 53 + cursor.column() * 47;
> }
>
> +namespace QTest
> +{
> + // forward declaration of template in qtestcase.h
> + template<typename T> char* toString(const T&);
> +
> + /**
> + * QTestLib integration to have nice output in e.g. QCOMPARE failures.
> + */
> + template<>
> + KTEXTEDITOR_EXPORT char *toString(const KTextEditor::Cursor &cursor);
> +}
> +
> #endif
>
> diff --git a/src/include/ktexteditor/range.h
> b/src/include/ktexteditor/range.h index 17b4a9b..0062049 100644
> --- a/src/include/ktexteditor/range.h
> +++ b/src/include/ktexteditor/range.h
> @@ -578,5 +578,16 @@ inline uint qHash(const KTextEditor::Range& range)
> return qHash(range.start()) + qHash(range.end()) * 41;
> }
>
> -#endif
> +namespace QTest
> +{
> + // forward declaration of template in qtestcase.h
> + template<typename T> char* toString(const T&);
>
> + /**
> + * QTestLib integration to have nice output in e.g. QCOMPARE failures.
> + */
> + template<>
> + KTEXTEDITOR_EXPORT char *toString(const KTextEditor::Range &range);
> +}
> +
> +#endif
> diff --git a/src/utils/range.cpp b/src/utils/range.cpp
> index be17baa..6c658b3 100644
> --- a/src/utils/range.cpp
> +++ b/src/utils/range.cpp
> @@ -253,3 +253,24 @@ Range KTextEditor::Range::encompass(const Range &range)
> const }
> }
>
> +namespace QTest {
> + // Cursor: template specialization for QTest::toString()
> + template<>
> + char *toString(const KTextEditor::Cursor &cursor)
> + {
> + QByteArray ba = "Cursor[" + QByteArray::number(cursor.line())
> + + ", " + QByteArray::number(cursor.column()) + "]";
> + return qstrdup(ba.data());
> + }
> +
> + // Range: template specialization for QTest::toString()
> + template<>
> + char *toString(const KTextEditor::Range &range)
> + {
> + QByteArray ba = "Range[";
> + ba += QByteArray::number(range.start().line()) + ", " + QByteArray::number(range.start().column()) + " - ";
> + ba += QByteArray::number(range.end().line()) + ", " + QByteArray::number(range.end().column());
> + ba += "]";
> + return qstrdup(ba.data());
> + }
> +}
More information about the KDevelop-devel
mailing list