From 886e5076c8e81fd0cdfe82dbf4a80d19e778d594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 6 Aug 2014 18:24:22 +0200 Subject: Imported Upstream version 0.8.0.1 --- test/FourSuite.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 test/FourSuite.h (limited to 'test/FourSuite.h') diff --git a/test/FourSuite.h b/test/FourSuite.h new file mode 100644 index 0000000..24144cc --- /dev/null +++ b/test/FourSuite.h @@ -0,0 +1,70 @@ +/* + * uriparser - RFC 3986 URI parsing library + * + * Copyright (C) 2007, Weijia Song + * Copyright (C) 2007, Sebastian Pipping + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef TEST_FOUR_SUITE_H +#define TEST_FOUR_SUITE_H 1 + + + +#include + +using namespace Test; + + + +class FourSuite : public Suite { + +public: + FourSuite() { + TEST_ADD(FourSuite::absolutize_test_cases) + TEST_ADD(FourSuite::relativize_test_cases) + TEST_ADD(FourSuite::good_URI_references) + TEST_ADD(FourSuite::bad_URI_references) + TEST_ADD(FourSuite::caseNormalizationTests) + TEST_ADD(FourSuite::pctEncNormalizationTests) + TEST_ADD(FourSuite::pathSegmentNormalizationTests) + } + +private: + bool testAddOrRemoveBaseHelper(const char * ref, + const char * base, const char * expected, bool add = true, + bool domainRootMode = false); + + void absolutize_test_cases(); + void relativize_test_cases(); + + int testParseUri(const char * uriText, const char ** expectedErrorPos = NULL); + bool testGoodUri(const char * uriText); + bool testBadUri(const char * uriText, int expectedErrorOffset = -1); + void good_URI_references(); + void bad_URI_references(); + + bool normalizeAndCompare(const char * uriText, + const char * expectedNormalized); + void caseNormalizationTests(); + void pctEncNormalizationTests(); + void pathSegmentNormalizationTests(); + +}; + + + +#endif // TEST_FOUR_SUITE_H -- cgit v1.2.3