Beispiel #1
0
 /// <inheritdoc/>
 public void MarkAsExecutable(string path)
 {
     (string dir, string file) = Split(path);
     (string digest, UnixTime modifiedTime, long size) = (ManifestFile)Manifest[dir][file];
     Manifest[dir][file] = new ManifestExecutableFile(digest, modifiedTime, size);
 }
Beispiel #2
0
        public void TestListPaths()
        {
            var normalFile = new ManifestNormalFile("123", new DateTime(), 10, "normal");
            var dir1 = new ManifestDirectory("/dir1");
            var executableFile = new ManifestExecutableFile("123", new DateTime(), 10, "executable");
            var dir2 = new ManifestDirectory("/dir2");
            var symlink = new ManifestSymlink("123", 10, "symlink");
            var manifest = new Manifest(ManifestFormat.Sha256New, normalFile, dir1, executableFile, dir2, symlink);

            manifest.ListPaths().Should().Equal(
                new KeyValuePair<string, ManifestNode>("normal", normalFile),
                new KeyValuePair<string, ManifestNode>("dir1", dir1),
                new KeyValuePair<string, ManifestNode>(Path.Combine("dir1", "executable"), executableFile),
                new KeyValuePair<string, ManifestNode>("dir2", dir2),
                new KeyValuePair<string, ManifestNode>(Path.Combine("dir2", "symlink"), symlink));
        }