aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2020-10-05Add tests for parsing hosts ending in dotRichard Walters
2019-12-02Support first > last for range constructor of CharacterSetRichard Walters
2019-03-28Percent-encode '+' in the query portionRichard Walters
2018-10-24Uri: add unit test for ClearQueryRichard Walters
2018-10-24Uri: fix bugs in copying and comparing URIs with query/fragment partsRichard Walters
Copying query or fragment needs to copy the "hasQuery" and "hasFragment" flags. Comparing URIs should make use of "hasQuery" and "hasFragment" to properly compare URIs that might not have query and/or fragment parts.
2018-10-24PercentEncodedCharacterDecoder: add some extra test casesRichard Walters
2018-10-24Uri: fix bug in percent-encoding of character codes 0x80-0xffRichard Walters
Can't treat characters using "char" type because it's signed.
2018-08-05Use SystemAbstractions::ToLower instead of doing it ourselvesRichard Walters
2018-07-23Add copy constructor and assignment operatorRichard Walters
2018-07-04Fix bug in IPv6Address validationRichard Walters
A trailing group which is definitely not an IPv4Address needs to be counted. Detect this as the state being IN_GROUP_NOT_IPV4 after the end of the string.
2018-07-04Fix bugs in IPv6 address parsingRichard Walters
* Multiple colons should not be accepted in state 4. * After parsing a digit group and encountering a colon, we need allow either another colon or the beginning of either another group or an IPv4 address. Add state 5 to handle this.
2018-07-04Add minor commentRichard Walters
2018-07-04Normalize IPv6 addresses when generating URI stringsRichard Walters
2018-07-04Percent-encode if necessary any elements when generating stringsRichard Walters
2018-07-04Fix space alignmentRichard Walters
2018-07-04Fix requirementsRichard Walters
Query and fragment may be empty but present in a URI. Handle this in the same way that port is handled: include a flag for each of query and fragment, to allow an empty but present query/fragment.
2018-07-04Add capability of setting other elementsRichard Walters
* userinfo * port (hasPort) * path * fragment Also include these element when generating string from URI.
2018-07-04Add GenerateString (incomplete)Richard Walters
Add methods to set scheme, host, and query elements. Add ability to generate URI strings out of scheme, host, and query elements. This does not yet support userinfo, port, or fragment elements.
2018-07-04Validate IPv6 addressesRichard Walters
* Add ValidateIpv6Address. * Add ValidateIpv4Address (since an IPv6 address is allowed to contain an IPv4 address for compatibility) * Add ValidateOctet (used by ValidateIpv4Address).
2018-07-04Fix bad requirementRichard Walters
After parsing a URI, we don't want the square brackets to remain in the host element, because those were only there to delimit it in the context of a URI string.
2018-07-04RefactoringRichard Walters
Add unit tests for stand-alone modules that were formerly part of Uri and so were previously tested along with Uri.
2018-07-03Fix erronous test vectorsRichard Walters
2018-07-02Add reference resolution and attempt to fix path normalizationRichard Walters
Path normalization is hideously broken for now.
2018-07-02Recognize special case of absolute URI with empty pathRichard Walters
Such a URI should be considered equivalent to a path of "/" because in both cases the path is an absolute path.
2018-07-02Fix bug in testRichard Walters
Fix assumption that the path of an absolute URI is considered to have a relative path if the path is empty.
2018-07-02Add more path normalization tests and fix a bug in itRichard Walters
For normalization "step 2C", if the output path was empty, we don't want to pop the end of it off.
2018-07-02Add capability to compare Uri objects.Richard Walters
* Code the neat example in section 6.2.2 of the RFC. * Add equality/inequality operators for Uri.
2018-07-02Add NormalizePath methodRichard Walters
2018-07-01Normalize scheme and reg-name elements to lower caseRichard Walters
2018-07-01Allow HEXDIG to include lower-case 'a'..'f'Richard Walters
2018-07-01Check for illegal characters in query and fragment elementsRichard Walters
2018-07-01Check for illegal characters in path segmentsRichard Walters
2018-07-01Fix second bug in scheme delimiter searchingRichard Walters
Path may also have colon, so make sure we don't scan into the path element if there is one.
2018-07-01Handle bad host namesRichard Walters
* Detect bad characters in host names. * Incorporate splitting host and port into the state machine that is parsing/decoding the host. NOTE: IPv6address is not checked for bad characters yet. More research is needed to learn exactly what are the various ways to write an IPv6 address.
2018-07-01Fix bug in parsing schemeRichard Walters
A colon may be in the authority, if present, so limit the search for scheme delimiter so we aren't scanning the authority part, when parsing the scheme.
2018-07-01Handle bad characters in UserInfoRichard Walters
2018-06-30Add code to check that scheme, if present, is legalRichard Walters
2018-06-30Fix bug in not clearing userInfo when there is no authorityRichard Walters
2018-06-30Add more element parsing of URIsRichard Walters
* Add IsRelativeReference. * Add IsRelativePath. * Add Query. * Add Fragment. * Add UserInfo. * Fix parsing of URIs that have no scheme.
2018-06-30Add support for port and hasPort elementsRichard Walters
2018-06-30Uri: fix mistakes from last sessionRichard Walters
* Parts of a path are called "segments", not "steps", in the RFC. * The RFC specifies that path separators are always forward slashes, so don't support other separators.
2018-06-30Kick off Uri componentRichard Walters
* Can now parse URIs from strings. * This supports scheme, host, and path. * Path separator defaults to "/" but may be customized.
2018-06-02Initial Revision.Richard Walters