/// <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); }
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)); }