Exemplo n.º 1
0
        public void AllEntries_List()
        {
            using (Stream stream = File.OpenRead("TestAssets/hfsp.cdr"))
                using (HfsPlusFileSystem hfs = new HfsPlusFileSystem(stream))
                {
                    var dir = hfs.GetDirectoryInfo("\\");

                    Assert.Collection(
                        dir.GetFileSystemInfos(),
                        e =>
                    {
                        var dir = Assert.IsType <DiscFileSystemInfo>(e);
                        Assert.Equal(".HFS+ Private Directory Data\r", dir.Name);
                    },
                        e =>
                    {
                        var file = Assert.IsType <DiscFileSystemInfo>(e);
                        Assert.Equal("hello.txt", file.Name);
                    },
                        e =>
                    {
                        var file = Assert.IsType <DiscFileSystemInfo>(e);
                        Assert.Equal("System", file.Name);
                    },
                        e =>
                    {
                        var dir = Assert.IsType <DiscFileSystemInfo>(e);
                        Assert.Equal("\0\0\0\0HFS+ Private Data", dir.Name);
                    });
                }
        }
Exemplo n.º 2
0
        protected override void DoRun()
        {
            using (var disk = VirtualDisk.OpenDisk(_dmg.Value, FileAccess.Read))
            {
                // Find the first (and supposedly, only, HFS partition)

                foreach (var volume in VolumeManager.GetPhysicalVolumes(disk))
                {
                    foreach (var fileSystem in FileSystemManager.DetectFileSystems(volume))
                    {
                        if (fileSystem.Name == "HFS+")
                        {
                            using (HfsPlusFileSystem hfs = (HfsPlusFileSystem)fileSystem.Open(volume))
                            {
                                var source = hfs.GetDirectoryInfo(_folder.Value);
                                var target = new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, source.Name));

                                if (target.Exists)
                                {
                                    target.Delete(true);
                                }

                                target.Create();

                                CopyDirectory(source, target, _recursive.IsPresent);
                            }
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        protected override void DoRun()
        {
            using (var disk = VirtualDisk.OpenDisk(_dmg.Value, FileAccess.Read))
                using (HfsPlusFileSystem hfs = new HfsPlusFileSystem(disk.Partitions[3].Open()))
                {
                    var source = hfs.GetDirectoryInfo(_folder.Value);
                    var target = new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, source.Name));

                    if (target.Exists)
                    {
                        target.Delete(true);
                    }

                    target.Create();

                    CopyDirectory(source, target, _recursive.IsPresent);
                }
        }