hash controller handle relative path
add `reset` test spec & fix bug
add test spec for popstate controller