Beispiel #1
0
    def testGlob(self):
        # Must test with disk directory...
        tempdir = tempfile.mkdtemp()
        try:
            disk_dir = DiskDirectory(tempdir)

            disk_dir.write("foo.qux", "")
            disk_dir.write("bar.qux", "")
            disk_dir.write("baz.qux", "")
            disk_dir.write("foo.corge", "")
            disk_dir.write("bar.corge", "")
            disk_dir.write("baz.corge", "")

            class PrefixRemovingMapping(MappedDirectory.Mapping):
                def __init__(self, prefix, real_dir):
                    super(PrefixRemovingMapping, self).__init__()
                    self.__prefix = prefix
                    self.__real_dir = real_dir

                def map(self, filename):
                    assert filename.startswith(self.__prefix)
                    return (self.__real_dir, filename[len(self.__prefix):])

            dir = MappedDirectory(PrefixRemovingMapping("a/", disk_dir))

            self.assertEquals(set(["a/foo.qux"]),
                              set(dir.expand_glob("a/foo.qux")))
            self.assertEquals(set(["a/foo.qux", "a/bar.qux", "a/baz.qux"]),
                              set(dir.expand_glob("a/*.qux")))
            self.assertEquals(
                set(["a/foo.corge", "a/bar.corge", "a/baz.corge"]),
                set(dir.expand_glob("a/*.corge")))
            self.assertEquals(set(["a/foo.qux", "a/foo.corge"]),
                              set(dir.expand_glob("a/foo.*")))
            self.assertEquals(
                set([
                    "a/foo.qux", "a/bar.qux", "a/baz.qux", "a/foo.corge",
                    "a/bar.corge", "a/baz.corge"
                ]), set(dir.expand_glob("a/*")))
            self.assertEquals(set([]), set(dir.expand_glob("a/grault")))
        finally:
            shutil.rmtree(tempdir)
Beispiel #2
0
  def testGlob(self):
    # Must test with disk directory...
    tempdir = tempfile.mkdtemp()
    try:
      disk_dir = DiskDirectory(tempdir)

      disk_dir.write("foo.qux", "")
      disk_dir.write("bar.qux", "")
      disk_dir.write("baz.qux", "")
      disk_dir.write("foo.corge", "")
      disk_dir.write("bar.corge", "")
      disk_dir.write("baz.corge", "")

      class PrefixRemovingMapping(MappedDirectory.Mapping):
        def __init__(self, prefix, real_dir):
          super(PrefixRemovingMapping, self).__init__()
          self.__prefix = prefix
          self.__real_dir = real_dir

        def map(self, filename):
          assert filename.startswith(self.__prefix)
          return (self.__real_dir, filename[len(self.__prefix):])

      dir = MappedDirectory(PrefixRemovingMapping("a/", disk_dir))

      self.assertEquals(set(["a/foo.qux"]),
                        set(dir.expand_glob("a/foo.qux")))
      self.assertEquals(set(["a/foo.qux", "a/bar.qux", "a/baz.qux"]),
                        set(dir.expand_glob("a/*.qux")))
      self.assertEquals(set(["a/foo.corge", "a/bar.corge", "a/baz.corge"]),
                        set(dir.expand_glob("a/*.corge")))
      self.assertEquals(set(["a/foo.qux", "a/foo.corge"]),
                        set(dir.expand_glob("a/foo.*")))
      self.assertEquals(set(["a/foo.qux", "a/bar.qux", "a/baz.qux",
                             "a/foo.corge", "a/bar.corge", "a/baz.corge"]),
                        set(dir.expand_glob("a/*")))
      self.assertEquals(set([]),
                        set(dir.expand_glob("a/grault")))
    finally:
      shutil.rmtree(tempdir)