/*************************************************************************** * Copyright (C) 2013 by Jon Mease * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef OKULAR_TESTINGUTILS_H #define OKULAR_TESTINGUTILS_H template class QLinkedList; class QString; namespace Okular { class NormalizedPoint; class Annotation; } namespace TestingUtils { /** * Return the XML string associated with an annotation's properties */ QString getAnnotationXml(const Okular::Annotation* annotation); /** * Returns true if the pairwise comparison coordinates of points in @p points1 and @p points2 are almost * equal (according to qFuzzyCompare) */ bool pointListsAlmostEqual( QLinkedList< Okular::NormalizedPoint > points1, QLinkedList< Okular::NormalizedPoint > points2 ); /* * The AnnotationDisposeWatcher class provides a static disposeAnnotation function * that may be assigned to an annotation with Annotation::setDisposeDataFunction in order to * determine when an annotation has been disposed of. */ class AnnotationDisposeWatcher { private: static QString m_disposedAnnotationName; public: static QString disposedAnnotationName(); static void resetDisposedAnnotationName(); static void disposeAnnotation( const Okular::Annotation *ann ); }; } #endif