This pull request fixes #20, by rewriting the normpath routine to operate more closely to its corresponding function in IETF RFC 3986 (the remove_dot_segments function described in Sec. 5.2.4).
In addition to rewriting normpath, I've added the "abnormal" test cases that triggered #20 to the test suite for normpath. I've also added the full list of abnormal test cases described in Sec. 5.4 for the resolvereference function, including the erroneous case, which should hopefully help catch errors like this more often.
This pull request fixes #20, by rewriting the
normpath
routine to operate more closely to its corresponding function in IETF RFC 3986 (theremove_dot_segments
function described in Sec. 5.2.4).In addition to rewriting
normpath
, I've added the "abnormal" test cases that triggered #20 to the test suite fornormpath
. I've also added the full list of abnormal test cases described in Sec. 5.4 for theresolvereference
function, including the erroneous case, which should hopefully help catch errors like this more often.Closes #20.