Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)