def test_default(self): from quodlibet.util.path import normalize_path as norm name = norm(tempfile.mkdtemp()) try: self.failUnlessEqual(norm(name), name) self.failUnlessEqual(norm(os.path.join(name, "foo", "..")), name) finally: os.rmdir(name)
def test_default(self): from quodlibet.util.path import _normalize_path as norm name = norm(tempfile.mkdtemp()) try: self.failUnlessEqual(norm(name), name) self.failUnlessEqual(norm(os.path.join(name, "foo", "..")), name) finally: os.rmdir(name)
def test_canonicalise(self): from quodlibet.util.path import normalize_path as norm f, path = tempfile.mkstemp() path = os.path.realpath(path) # on osx tmp is a symlink os.close(f) path = norm(path) link = None if not is_win: link = str(uuid.uuid4()) os.symlink(path, link) try: self.failUnlessEqual(norm(path, canonicalise=True), path) self.failUnlessEqual(norm(os.path.join(path, "foo", ".."), True), path) if link: self.failUnlessEqual(norm(link, True), path) # A symlink shouldn't be resolved unless asked for self.failIfEqual(norm(link, False), path) # And the other behaviour should also work unnormalised_path = os.path.join(link, "foo", "..") self.failUnlessEqual(norm(unnormalised_path, True), path) finally: if link: os.remove(link) os.remove(path)
def test_canonicalise(self): from quodlibet.util.path import normalize_path as norm f, path = tempfile.mkstemp() path = os.path.realpath(path) # on osx tmp is a symlink os.close(f) path = norm(path) link_dir = mkdtemp() link = None if not is_win: link = os.path.join(link_dir, str(uuid.uuid4())) os.symlink(path, link) try: self.failUnlessEqual(norm(path, canonicalise=True), path) self.failUnlessEqual(norm(os.path.join(path, "foo", ".."), True), path) if link: self.failUnlessEqual(norm(link, True), path) # A symlink shouldn't be resolved unless asked for self.failIfEqual(norm(link, False), path) # And the other behaviour should also work unnormalised_path = os.path.join(link, "foo", "..") self.failUnlessEqual(norm(unnormalised_path, True), path) finally: if link: os.remove(link) os.remove(path) os.rmdir(link_dir)
def _test_canonicalise(self, norm): f, path = tempfile.mkstemp() os.close(f) path = norm(path) link = None if not is_win: link = str(uuid.uuid4()) os.symlink(path, link) try: self.failUnlessEqual(norm(path, canonicalise=True), path) self.failUnlessEqual(norm(os.path.join(path, "foo", ".."), True), path) if link: self.failUnlessEqual(norm(link, True), path) # A symlink shouldn't be resolved unless asked for self.failIfEqual(norm(link, False), path) # And the other behaviour should also work unnormalised_path = os.path.join(link, "foo", "..") self.failUnlessEqual(norm(unnormalised_path, True), path) finally: if link: os.remove(link) os.remove(path)
def test_darwin(self): if is_win: return from quodlibet.util.path import _normalize_darwin_path def norm(p): return _normalize_darwin_path(p, strict=True) name = tempfile.mkdtemp() basename = os.path.basename(name) old_cwd = os.getcwd() os.chdir(name) try: self.failUnlessEqual(norm(name), name) self.failUnlessEqual(norm("."), ".") self.failUnlessEqual(norm(".."), "..") t = os.path.join("..", basename) self.failUnlessEqual(norm(t), t) t = os.path.join("/", "bin", "..", norm(name)) self.failUnlessEqual(norm(t), t) finally: os.chdir(old_cwd) os.rmdir(name)