wxWidgets/tests/html/htmlparser.cpp
Vadim Zeitlin ea489e1a7d Fix assertion in the HtmlParser unit test case
Use wxHtmlWinParser instead of wxHtmlParser which can't be actually used
without being initialized with the tag handlers (it's not clear whether this
is really intentional...).
2016-02-27 01:14:14 +01:00

79 lines
2.1 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: tests/html/htmlparser.cpp
// Purpose: wxHtmlParser tests
// Author: Vadim Zeitlin
// Created: 2011-01-13
// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "testprec.h"
#if wxUSE_HTML
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/dcmemory.h"
#endif // WX_PRECOMP
#include "wx/html/winpars.h"
// ----------------------------------------------------------------------------
// test class
// ----------------------------------------------------------------------------
class HtmlParserTestCase : public CppUnit::TestCase
{
public:
HtmlParserTestCase() { }
private:
CPPUNIT_TEST_SUITE( HtmlParserTestCase );
CPPUNIT_TEST( Invalid );
CPPUNIT_TEST_SUITE_END();
void Invalid();
wxDECLARE_NO_COPY_CLASS(HtmlParserTestCase);
};
// register in the unnamed registry so that these tests are run by default
CPPUNIT_TEST_SUITE_REGISTRATION( HtmlParserTestCase );
// also include in its own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( HtmlParserTestCase, "HtmlParserTestCase" );
// ----------------------------------------------------------------------------
// tests themselves
// ----------------------------------------------------------------------------
// Test that parsing invalid HTML simply fails but doesn't crash for example.
void HtmlParserTestCase::Invalid()
{
class NullParser : public wxHtmlWinParser
{
public:
virtual wxObject *GetProduct() { return NULL; }
protected:
virtual void AddText(const wxString& WXUNUSED(txt)) { }
};
NullParser p;
wxMemoryDC dc;
p.SetDC(&dc);
p.Parse("<");
p.Parse("<foo");
p.Parse("<!--");
p.Parse("<!---");
}
#endif //wxUSE_HTML