blob: a80739d72123b5a3060401f506bc6f7b5aa842c3 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _DECAF_NET_URLTEST_H_
#define _DECAF_NET_URLTEST_H_
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
namespace decaf {
namespace net {
class URLTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( URLTest );
CPPUNIT_TEST( testConstructor1 );
CPPUNIT_TEST( testConstructor2 );
CPPUNIT_TEST( testConstructor3 );
CPPUNIT_TEST( testConstructor4 );
CPPUNIT_TEST( testEquals );
CPPUNIT_TEST( testSameFile );
CPPUNIT_TEST( testToString );
CPPUNIT_TEST( testToExternalForm );
CPPUNIT_TEST( testGetFile );
CPPUNIT_TEST( testGetHost );
CPPUNIT_TEST( testGetPort );
CPPUNIT_TEST( testGetDefaultPort );
CPPUNIT_TEST( testGetProtocol );
CPPUNIT_TEST( testGetRef );
CPPUNIT_TEST( testGetAuthority );
CPPUNIT_TEST( testToURI );
CPPUNIT_TEST( testURLStreamHandlerParseURL );
CPPUNIT_TEST( testUrlParts );
CPPUNIT_TEST( testFileEqualsWithEmptyHost );
CPPUNIT_TEST( testNoHost );
CPPUNIT_TEST( testNoPath );
CPPUNIT_TEST( testEmptyHostAndNoPath );
CPPUNIT_TEST( testNoHostAndNoPath );
CPPUNIT_TEST( testAtSignInUserInfo );
CPPUNIT_TEST( testUserNoPassword );
CPPUNIT_TEST( testUserNoPasswordExplicitPort );
CPPUNIT_TEST( testUserPasswordHostPort );
CPPUNIT_TEST( testUserPasswordEmptyHostPort );
CPPUNIT_TEST( testUserPasswordEmptyHostEmptyPort );
CPPUNIT_TEST( testPathOnly );
CPPUNIT_TEST( testQueryOnly );
CPPUNIT_TEST( testFragmentOnly );
CPPUNIT_TEST( testAtSignInPath );
CPPUNIT_TEST( testColonInPath );
CPPUNIT_TEST( testSlashInQuery );
CPPUNIT_TEST( testQuestionMarkInQuery );
CPPUNIT_TEST( testAtSignInQuery );
CPPUNIT_TEST( testColonInQuery );
CPPUNIT_TEST( testQuestionMarkInFragment );
CPPUNIT_TEST( testColonInFragment );
CPPUNIT_TEST( testSlashInFragment );
CPPUNIT_TEST( testSlashInFragmentCombiningConstructor );
CPPUNIT_TEST( testHashInFragment );
CPPUNIT_TEST( testEmptyPort );
CPPUNIT_TEST( testNonNumericPort );
CPPUNIT_TEST( testNegativePort );
CPPUNIT_TEST( testNegativePortEqualsPlaceholder );
CPPUNIT_TEST( testRelativePathOnQuery );
CPPUNIT_TEST( testRelativeFragmentOnQuery );
CPPUNIT_TEST( testPathContainsRelativeParts );
CPPUNIT_TEST( testRelativePathAndFragment );
CPPUNIT_TEST( testRelativeParentDirectory );
CPPUNIT_TEST( testRelativeChildDirectory );
CPPUNIT_TEST( testRelativeRootDirectory );
CPPUNIT_TEST( testRelativeFullUrl );
CPPUNIT_TEST( testRelativeDifferentScheme );
CPPUNIT_TEST( testRelativeDifferentAuthority );
CPPUNIT_TEST( testRelativeWithScheme );
CPPUNIT_TEST( testMalformedUrlsRefusedByFirefoxAndChrome );
CPPUNIT_TEST( testRfc1808NormalExamples );
CPPUNIT_TEST( testRfc1808AbnormalExampleTooManyDotDotSequences );
CPPUNIT_TEST( testRfc1808AbnormalExampleRemoveDotSegments );
CPPUNIT_TEST( testRfc1808AbnormalExampleNonsensicalDots );
CPPUNIT_TEST( testRfc1808AbnormalExampleRelativeScheme );
CPPUNIT_TEST( testRfc1808AbnormalExampleQueryOrFragmentDots );
CPPUNIT_TEST( testSquareBracketsInUserInfo );
CPPUNIT_TEST( testComposeUrl );
CPPUNIT_TEST( testComposeUrlWithNullHost );
CPPUNIT_TEST( testFileUrlExtraLeadingSlashes );
CPPUNIT_TEST( testFileUrlWithAuthority );
CPPUNIT_TEST( testEmptyAuthority );
CPPUNIT_TEST( testHttpUrlExtraLeadingSlashes );
CPPUNIT_TEST( testFileUrlRelativePath );
CPPUNIT_TEST( testFileUrlDottedPath );
CPPUNIT_TEST( testParsingDotAsHostname );
CPPUNIT_TEST( testSquareBracketsWithIPv4 );
CPPUNIT_TEST( testSquareBracketsWithHostname );
CPPUNIT_TEST( testIPv6WithoutSquareBrackets );
CPPUNIT_TEST( testIpv6WithSquareBrackets );
CPPUNIT_TEST( testEqualityWithNoPath );
CPPUNIT_TEST( testUrlDoesNotEncodeParts );
CPPUNIT_TEST( testSchemeCaseIsCanonicalized );
CPPUNIT_TEST( testEmptyAuthorityWithPath );
CPPUNIT_TEST( testEmptyAuthorityWithQuery );
CPPUNIT_TEST( testEmptyAuthorityWithFragment );
CPPUNIT_TEST( testCombiningConstructorsMakeRelativePathsAbsolute );
CPPUNIT_TEST( testCombiningConstructorsDoNotMakeEmptyPathsAbsolute );
CPPUNIT_TEST( testPartContainsSpace );
CPPUNIT_TEST( testUnderscore );
CPPUNIT_TEST_SUITE_END();
public:
URLTest();
virtual ~URLTest();
void testConstructor1();
void testConstructor2();
void testConstructor3();
void testConstructor4();
void testEquals();
void testSameFile();
void testToString();
void testToExternalForm();
void testGetFile();
void testGetHost();
void testGetPort();
void testGetDefaultPort();
void testGetProtocol();
void testGetRef();
void testGetAuthority();
void testToURI();
void testURLStreamHandlerParseURL();
void testUrlParts();
void testFileEqualsWithEmptyHost();
void testOmittedHost();
void testNoHost();
void testNoPath();
void testEmptyHostAndNoPath();
void testNoHostAndNoPath();
void testAtSignInUserInfo();
void testUserNoPassword();
void testUserNoPasswordExplicitPort();
void testUserPasswordHostPort();
void testUserPasswordEmptyHostPort();
void testUserPasswordEmptyHostEmptyPort();
void testPathOnly();
void testQueryOnly();
void testFragmentOnly();
void testAtSignInPath();
void testColonInPath();
void testSlashInQuery();
void testQuestionMarkInQuery();
void testAtSignInQuery();
void testColonInQuery();
void testQuestionMarkInFragment();
void testColonInFragment();
void testSlashInFragment();
void testSlashInFragmentCombiningConstructor();
void testHashInFragment();
void testEmptyPort();
void testNonNumericPort();
void testNegativePort();
void testNegativePortEqualsPlaceholder();
void testRelativePathOnQuery();
void testRelativeFragmentOnQuery();
void testPathContainsRelativeParts();
void testRelativePathAndFragment();
void testRelativeParentDirectory();
void testRelativeChildDirectory();
void testRelativeRootDirectory();
void testRelativeFullUrl();
void testRelativeDifferentScheme();
void testRelativeDifferentAuthority();
void testRelativeWithScheme();
void testMalformedUrlsRefusedByFirefoxAndChrome();
void testRfc1808NormalExamples();
void testRfc1808AbnormalExampleTooManyDotDotSequences();
void testRfc1808AbnormalExampleRemoveDotSegments();
void testRfc1808AbnormalExampleNonsensicalDots();
void testRfc1808AbnormalExampleRelativeScheme();
void testRfc1808AbnormalExampleQueryOrFragmentDots();
void testSquareBracketsInUserInfo();
void testComposeUrl();
void testComposeUrlWithNullHost();
void testFileUrlExtraLeadingSlashes();
void testFileUrlWithAuthority();
void testEmptyAuthority();
void testHttpUrlExtraLeadingSlashes();
void testFileUrlRelativePath();
void testFileUrlDottedPath();
void testParsingDotAsHostname();
void testSquareBracketsWithIPv4();
void testSquareBracketsWithHostname();
void testIPv6WithoutSquareBrackets();
void testIpv6WithSquareBrackets();
void testEqualityWithNoPath();
void testUrlDoesNotEncodeParts();
void testSchemeCaseIsCanonicalized();
void testEmptyAuthorityWithPath();
void testEmptyAuthorityWithQuery();
void testEmptyAuthorityWithFragment();
void testCombiningConstructorsMakeRelativePathsAbsolute();
void testCombiningConstructorsDoNotMakeEmptyPathsAbsolute();
void testPartContainsSpace();
void testUnderscore();
};
}}
#endif /* _DECAF_NET_URLTEST_H_ */