diff --git a/src/NAppUpdate.Framework/Tasks/FileUpdateTask.cs b/src/NAppUpdate.Framework/Tasks/FileUpdateTask.cs index 3830f2bf..8e791c3f 100644 --- a/src/NAppUpdate.Framework/Tasks/FileUpdateTask.cs +++ b/src/NAppUpdate.Framework/Tasks/FileUpdateTask.cs @@ -21,6 +21,9 @@ public class FileUpdateTask : UpdateTaskBase [NauField("sha256-checksum", "SHA-256 checksum to validate the file after download (optional)", false)] public string Sha256Checksum { get; set; } + [NauField("version", "File version to validate the file after download (optional)", false)] + public string Version { get; set; } + [NauField("hotswap", "Default update action is a cold update; check here if a hot file swap should be attempted" , false)] diff --git a/src/NAppUpdate.Tests/FeedReaders/NauXmlFeedReaderTests.cs b/src/NAppUpdate.Tests/FeedReaders/NauXmlFeedReaderTests.cs index 8c766795..d78e4bf3 100644 --- a/src/NAppUpdate.Tests/FeedReaders/NauXmlFeedReaderTests.cs +++ b/src/NAppUpdate.Tests/FeedReaders/NauXmlFeedReaderTests.cs @@ -123,5 +123,40 @@ public void NauReaderCanReadFeed3() Assert.AreEqual(64, cnd.OsBits); } + + [TestMethod] + public void NauReaderCanReadFeed4() + { + const string NauUpdateFeed = + @" + + My application + http://myapp.com/ + + + update details + + + + + +"; + + var reader = new NAppUpdate.Framework.FeedReaders.NauXmlFeedReader(); + IList updates = reader.Read(NauUpdateFeed); + + Assert.IsTrue(updates.Count == 1); + + var task = updates[0] as FileUpdateTask; + Assert.IsNotNull(task); + Assert.IsTrue(task.CanHotSwap); + + Assert.AreEqual(1, task.UpdateConditions.ChildConditionsCount); + + var cnd = task.UpdateConditions.Degrade() as OSCondition; + Assert.IsNotNull(cnd); + + Assert.AreEqual(64, cnd.OsBits); + } } }