subpaths tool fixed to allow empty path to match another empty path
test_page contract made lazy property