public void TryParse_ParsesCorrectlyWhenValueIsCommentedOutAndHasDescription()
        {
            HostEntry hostEntry = default(HostEntry);
            var       value     = "#127.0.0.1       mysite.co.uk # This is a description";

            var actual = HostEntry.TryParse(value, out hostEntry);

            Assert.True(actual);
            Assert.Equal("127.0.0.1", hostEntry.IpAddress);
            Assert.Equal("mysite.co.uk", hostEntry.HostName);
            Assert.Equal("This is a description", hostEntry.Description);
            Assert.False(hostEntry.IsEnabled);
        }
        public void TryParse_ParsesCorrectlyWhenValueIsAnUncommentedOutEntryWithNoDescription()
        {
            HostEntry hostEntry = default(HostEntry);
            var       value     = "127.0.0.1       mysite.co.uk";

            var actual = HostEntry.TryParse(value, out hostEntry);

            Assert.True(actual);
            Assert.Equal("127.0.0.1", hostEntry.IpAddress);
            Assert.Equal("mysite.co.uk", hostEntry.HostName);
            Assert.Equal("", hostEntry.Description);
            Assert.True(hostEntry.IsEnabled);
        }
示例#3
0
        public static HostsFile Load(Stream stream)
        {
            var hostsFile = new HostsFile();

            var reader = new StreamReader(stream);

            while (reader.Peek() >= 0)
            {
                string line = reader.ReadLine();

                HostEntry hostEntry;

                if (HostEntry.TryParse(line, out hostEntry))
                {
                    hostsFile.AddHostEntry(hostEntry);
                }
                else
                {
                    hostsFile.AddComment(line.TrimStart('#'));
                }
            }

            return(hostsFile);
        }