only tests some of the obvious scenarios I can see right now.
::cd() has been changed to only support going up one path element. it's
all we need it for and the previous code was almost certainly incorrect
by calling setUrl with input that is definitely not anywhere near a valid
url