reorganize the test cases, merge tests and use URL.createFor() instead